You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何用AutoHotkey实现应用程序的移动与尺寸调整

解决AutoHotkey调整窗口指定宽高的问题

你已经搞定了用AutoHotkey快捷键启动程序和移动窗口的部分,要实现按指定宽高调整窗口尺寸的需求,不用再折腾鼠标模拟操作啦——AutoHotkey的WinMove命令就能一步到位,精准设置窗口的位置和大小,比你之前的方法更稳定可靠。

改进后的完整代码

; 快捷键说明:[^ = Ctrl] [+ = Shift] [! = Alt] [# = Win]
F5::
    ; 启动目标文件/程序,RunWait会等待程序完全启动后再执行后续操作
    RunWait "C:\test.txt"
    ; WinMove命令:一次性设置窗口的位置和尺寸
    ; 参数格式:WinMove, 窗口识别符, 窗口文本, X坐标, Y坐标, 宽度, 高度
    ; 这里用进程名定位记事本窗口,你可以换成自己目标程序的进程名/窗口标题
    WinMove "ahk_exe notepad.exe",, 500, 250, 800, 600  ; 示例:X=500, Y=250, 宽800, 高600
return

关键细节解释

  • RunWait vs Run:用RunWait是为了确保目标程序完全启动后再调整窗口,避免窗口还没打开就执行WinMove导致失效;如果你的程序启动很快,或者不需要等待,换成Run也可以。
  • 窗口识别符"ahk_exe notepad.exe"是通过进程名定位窗口,这比用窗口标题更可靠(毕竟窗口标题可能会变,比如txt文件改名后标题就不一样了)。你可以用AutoHotkey自带的Window Spy工具(右键托盘里的AHK图标就能打开),轻松获取目标窗口的进程名、标题等信息。
  • WinMove参数:后面的500,250是窗口左上角的X、Y坐标,800,600是你需要的宽度和高度,直接替换成你指定的数值就行。

为什么不用你之前的鼠标操作?

你之前用send !{space}m激活移动窗口再模拟鼠标拖动的方式,很容易因为系统延迟、鼠标位置偏差等问题出错,而WinMove是直接调用系统API调整窗口,精准度和稳定性都高得多。

内容的提问来源于stack exchange,提问作者G. user17

火山引擎 最新活动