对匹配指定条件的窗口进行移动或更改大小的操作。
WinMove, X, Y
WinMove, WinTitle, WinText, X, Y [, Width, Height, ExcludeTitle, ExcludeText]
X, Y | 目标窗口新位置的 X轴 和 Y轴 坐标(单位是像素),以窗口左上角为基准点,可以是 表达式 。屏幕左上角坐标为 0, 0 。 如果只指定了这 2 个参数,其它参数留空,默认目标是 上一次匹配窗口 。 |
WinTitle | 目标窗口的标题或标题中的部分文字(匹配模式由 SetTitleMatchMode 决定)。如果省略其它 3 个窗口参数,默认目标是 上一次匹配窗口 。如果这个参数使用字母 A ,同时省略其它 3 个窗口参数,则以当前激活的窗口作为目标。要用窗口的 class 名进行匹配,使用 ahk_class 精确 class 名(Window Spy 中可以显示 class 名)。要用窗口的 进程标识符(PID)进行匹配,使用 ahk_pid %PID变量% 。要用 窗口组 ,使用 ahk_group 组名 。要用窗口的 唯一 ID 进行匹配,使用 ahk_id %ID变量% 。要减小检测范围,使用 多重条件 ,例如:My File.txt ahk_class Notepad |
WinText | 如果使用这个参数,则它应该是目标窗口中某个文本元素的子字符串(在 Window Spy 中会显示出窗口中的文本元素)。隐藏文本只有在 DetectHiddenText 设置为 ON 的时候才能检测到。 |
Width, Height | 目标窗口新大小的宽度和高度(单位是像素),可以是 表达式 。如果其中一个或两个一起留空或省略或使用单词 DEFAULT ,则默认等于原始宽度/高度。 |
ExcludeTitle | 标题中包含该参数指定的文字的窗口将被除外。 |
ExcludeText | 文本元素中包含该参数指定的文字的窗口将被除外。 |
如果 Width 和 Height 参数太小(或负数),大多数带标题栏的窗口最小不会小于 112 x 27 像素(有些类型的窗口可能大小有出入)。如果 Width 和 Height 参数太大,大多数窗口最大不会大于 (桌面分辨率 + 12) 像素。
坐标轴参数可以使用负数,这是为了支持多显示器系统,以及可以让窗口完全移出桌面。
虽然 WinMove 不能移动最小化的窗口,但是在 DetectHiddenWindows 打开的情况下它可以移动隐藏窗口。
窗口移动的速度受 SetWinDelay 影响.
窗口的标题和窗口中的文字是大小写敏感的。要检测隐藏窗口,必须打开 DetectHiddenWindows 。
ControlMove, WinGetPos, WinHide, WinMinimize, WinMaximize, WinSet
Run, calc.exe WinWait, Calculator WinMove, 0, 0 ; 将 WinWait 找到的窗口移动到屏幕左上角。 SplashTextOn, 400, 300, Clipboard, The clipboard contains:`n%clipboard% WinMove, Clipboard, , 0, 0 ; 将窗口移动到左上角 Msgbox, Press OK to dismiss the SplashText SplashTextOff ; 下面的 函数 将指定的窗口居中。 CenterWindow(WinTitle) { WinGetPos,,, Width, Height, %WinTitle% WinMove, %WinTitle%,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2)-(Height/2) }