WinGetPos

指定されたウィンドウの位置とサイズを取得します。

WinGetPos &OutX, &OutY, &OutWidth, &OutHeight, WinTitle, WinText, ExcludeTitle, ExcludeText

パラメータ

&OutX, &OutY

型:VarRef

省略したときは、対応する値は保存されません。Otherwise, specify references to the output variables in which to store the X and Y coordinates of the target window's upper left corner.

&OutWidth, &OutHeight

型:VarRef

省略したときは、対応する値は保存されません。Otherwise, specify references to the output variables in which to store the width and height of the target window.

WinTitle、WinText、ExcludeTitle、ExcludeText

型:文字列整数またはオブジェクト

もしこれらの項目が未設定または省略されたときは、最後に見つかったウィンドウが使用されます。そうでないときは、WinTitleウィンドウタイトルまたはターゲットウィンドウを識別するための他の基準、および/またはWinTextにターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。

ExcludeTitleExcludeTextはウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方はWinTitleWinTextに似ていますが、ExcludeTitleはウィンドウのタイトル以外の基準(ウィンドウクラスやHWNDなど)を認識しません。

ウィンドウのタイトルとテキストは大文字と小文字を区別します。DetectHiddenWindows関数 と DetectHiddenText関数で変更しない限り、初期設定では非表示ウィンドウは検出されず、非表示テキストは検出されます。SetTitleMatchMode関数で変更しない限り、初期設定ではウィンドウのタイトルはその中のどこかにWinTitleまたはExcludeTitleを含んでいれば一致します。

エラー処理

ウィンドウが見つからないときは、TargetErrorがスローされます。

備考

If WinTitle is "Program Manager", the function will retrieve the size of the desktop, which is usually the same as the current screen resolution.

最小化されたウィンドウには、位置とサイズが残ります。The values returned in this case may vary depending on OS and configuration, but are usually -32000 for the X and Y coordinates and zero for the width and height.

マウスが現在カーソルを置いているウィンドウとコントロールの名前を知るには、MouseGetPosを使う。

この関数が返す座標にはウィンドウのタイトルバー、メニュー、ボーダーが含まれるため、OSのバージョンやテーマに依存する可能性があります。異なるシステム間でより一貫した値を取得するには、代わりにWinGetClientPosを使用することを検討してください。

DPI設定が異なる複数のスクリーンを持つシステムでは、OSのDPIスケーリングにより、返される位置やサイズが予想と異なる場合があります。

WinMove, WinGetClientPos, ControlGetPos, WinGetTitle, WinGetText, ControlGetText

電卓の位置とサイズを取得し、報告する。

WinGetPos &X, &Y, &W, &H, "Calculator"
MsgBox "Calculator is at " X "," Y " and its size is " W "x" H

アクティブウィンドウの位置を取得し、報告する。

WinGetPos &X, &Y,,, "A"
MsgBox "The active window is at " X "," Y

メモ帳が存在する場合は、その位置を検索して報告する。

if WinExist("Untitled - Notepad")
{
    WinGetPos &Xpos, &Ypos ; WinExist関数で見つかったウィンドウが使用されます。
    MsgBox "Notepad is at " Xpos "," Ypos
}