指定されたウィンドウのクライアント領域の位置と大きさを取得します。
WinGetClientPos &OutX, &OutY, &OutWidth, &OutHeight, WinTitle, WinText, ExcludeTitle, ExcludeText
型:VarRef
省略したときは、対応する値は保存されません。そうでないときは、クライアント領域の左上隅のX座標とY座標を格納する出力変数への参照を指定します。
型:VarRef
省略したときは、対応する値は保存されません。そうでないときは、クライアント領域の幅と高さを格納する出力変数への参照を指定します。
もしこれらの項目が未設定または省略されたときは、最後に見つかったウィンドウが使用されます。そうでないときは、WinTitleに ウィンドウタイトルまたはターゲットウィンドウを識別するための他の基準、および/またはWinTextにターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。
ExcludeTitleとExcludeTextはウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方はWinTitleとWinTextに似ていますが、ExcludeTitleはウィンドウのタイトル以外の基準(ウィンドウクラスやHWNDなど)を認識しません。
ウィンドウのタイトルとテキストは大文字と小文字を区別します。DetectHiddenWindows関数 と DetectHiddenText関数で変更しない限り、初期設定では非表示ウィンドウは検出されず、非表示テキストは検出されます。SetTitleMatchMode関数で変更しない限り、初期設定ではウィンドウのタイトルはその中のどこかにWinTitleまたはExcludeTitleを含んでいれば一致します。
ウィンドウが見つからないときは、TargetErrorがスローされます。
クライアント領域はウィンドウの一部で、コントロールを含むことができます。ウィンドウのタイトルバー、メニュー(標準のものがある場合)、ボーダーは除外されます。クライアント領域の位置とサイズは、WinGetPosが返す値よりもOSのバージョンやテーマに依存しません。
WinTitleが"Program Manager"
のときは、この関数はデスクトップのサイズを取得します。通常、これは現在の画面解像度と同じです。
最小化されたウィンドウは、位置とサイズを保持しています。この場合に返す値はOSや設定によりますが、通常はXとY座標が-32000、幅と高さが0です。
マウスが現在カーソルを置いているウィンドウとコントロールの名前を知るには、MouseGetPosを使います。
DPI設定が異なる複数のスクリーンを持つシステムでは、OSのDPIスケーリングにより、返される位置やサイズが予想と異なる場合があります。
WinGetPos、WinMove、ControlGetPos、WinGetTitle、WinGetText、ControlGetText
WinGetClientPos &X, &Y, &W, &H, "Calculator" MsgBox "Calculator's client area is at " X "," Y " and its size is " W "x" H