Autohotkey 自动热键-控件在窗口内单击
我有以下ahk脚本来运行C&C将军:Autohotkey 自动热键-控件在窗口内单击,autohotkey,Autohotkey,我有以下ahk脚本来运行C&C将军: #SingleInstance ignore CoordMode, Mouse, Relative Run C:\Users\william\Desktop\Generals.lnk a::Left s::Down d::Right w::Up Loop{ sleep, 500 } Until WinExist("ahk_exe Generals.exe") sleep, 200 SetControlDelay -1 ControlClick, 1,
#SingleInstance ignore
CoordMode, Mouse, Relative
Run C:\Users\william\Desktop\Generals.lnk
a::Left
s::Down
d::Right
w::Up
Loop{
sleep, 500
}
Until WinExist("ahk_exe Generals.exe")
sleep, 200
SetControlDelay -1
ControlClick, 1, ahk_class #32770, "", LEFT, 10, 300, 300
Loop{
sleep, 500
}
Until WinExist("ahk_exe Generals.exe")
WinWaitClose
Exit
问题是我无法控制点击第二个按钮
我读过手册,但我不明白为什么这不起作用。我甚至不知道它是否发出咔哒声
让它工作起来:
#SingleInstance ignore
CoordMode, Mouse, Relative
Run C:\Users\william\Desktop\Generals.lnk
winWait, ahk_exe Generals.exe
Click 300, 300
winWait, ahk_exe Generals.exe
WinWaitClose
Exit
a::Left
s::Down
d::Right
w::Up
太多评论了,我将给出一个答案:
a::Left
s::Down
d::Right
w::Up
Loop{
...
键重新映射(s::Down
)隐式地带来一个返回值。与热键(如s::msgbox)一样,hi
只是
s::
msgbox, hi
return
,键重新映射只是多行的一种简短形式。因此,脚本在执行Run
命令后已经终止。在程序启动时,将所有热键、标签、函数、热字符串和键重新映射放置在您希望发生的所有事情之后。如果双击任务栏图标,可以看到脚本行为。有关详细信息,请参阅
自动热键中实际上有一个特殊的命令:
winWait, ahk_exe Generals.exe
如果要单击不在前景中的窗口,则controlClick非常有用。根据你的图像,C&C在你的前景中非常重要。所以我想你可以简单地使用这个命令
另外(参见说明)1
作为控件或pos没有任何意义。。你所说的300300
是什么意思?这些是选项和excludeTitle参数
你打算用你的脚本退出游戏吗?如果不是,这句话就没有意义了
如果希望保持脚本运行(用于使用密钥重新映射),退出是可以的,但是return
更合适。如果要退出整个脚本,请改用exitapp
问题是我无法控制点击第二个按钮
什么按钮???使用WinWaitClose
我想等到我停止游戏,然后再停止脚本。我想点击零点按钮。顺便说一句,我要重写我的剧本。
winWait, ahk_exe Generals.exe
ControlClick, 1, ahk_class #32770, "", LEFT, 10, 300, 300
WinWaitClose
Exit