Autohotkey 是否可以通过控制单击和像素搜索在自动热键中工作?
我很难控制点击,我试图在不移动鼠标的情况下模拟控制点击,但我总是在运行时出错,因为我的代码中有错误Autohotkey 是否可以通过控制单击和像素搜索在自动热键中工作?,autohotkey,Autohotkey,我很难控制点击,我试图在不移动鼠标的情况下模拟控制点击,但我总是在运行时出错,因为我的代码中有错误 PixelSearch, X, Y, 0, 0, 1292, 747, 0x00FF00, 0, fast if(ErrorLevel=0) sleep, 100 ControlClick, %X% %Y%, form1, Left, 1 你错过了一些东西 首先,只执行它们下面的行。如果你有超过一行的代码,你必须把它放在大括号里。它叫 第二,你的
PixelSearch, X, Y, 0, 0, 1292, 747, 0x00FF00, 0, fast
if(ErrorLevel=0)
sleep, 100
ControlClick, %X% %Y%, form1, Left, 1
你错过了一些东西 首先,只执行它们下面的行。如果你有超过一行的代码,你必须把它放在大括号里。它叫 第二,你的语法是错误的。如果要传递坐标,则必须将x和y放在坐标前面,以便controlclick知道它们是坐标 不正确:
ControlClick,%X%%Y%
正确:ControlClick,x%x%x%Y%
第三,如果你看你的代码,你有左
WinText应该在哪里。语法:
ControlClick[,Control或Position,WinTitle,WinText,WhichButton,ClickCount,Options,excludetTitle,ExcludeText]
你不能假设AHK知道左<代码>是按钮。您必须告诉它跳过该字段,方法是在该字段中添加逗号以指示该字段为空。这样它就知道跳过wintext并将Left视为WhichButton
字段
不正确:ControlClick,%X%%Y%,form1,Left
正确:ControlClick,%X%%Y%,form1,,Left
把它们放在一起,你就有了:
PixelSearch, X, Y, 0, 0, 1292, 747, 0x00FF00, 0, fast
if (ErrorLevel = 0){
Sleep, 100
ControlClick, x%X% y%Y%, form1, , Left, 1
}
如果这能解决你的问题,请告诉我
编辑:显然这并没有解决你的问题。我打赌你的控制点击和你传递的信息就是问题所在
确保在脚本开头定义。您需要将其设置为全屏或相对
其次,除非有充分的理由,否则不要使用窗口标题。使用类似于ahk_exe chrome.exe
,而不是form1。它更可靠
#SingleInstance, Force
CoordMode, Pixel, Screen
return
F1::
PixelSearch, X, Y, 0, 0, 1292, 747, 0x00FF00, 0, fast
if (ErrorLevel = 0){
Sleep, 100
ControlClick, x%X% y%Y%, ahk_exe yourExeName.exe, , Left, 1
}
return
你用它做什么程序/站点/游戏?有几件事你错过了 首先,只执行它们下面的行。如果你有超过一行的代码,你必须把它放在大括号里。它叫 第二,你的语法是错误的。如果要传递坐标,则必须将x和y放在坐标前面,以便controlclick知道它们是坐标 不正确:
ControlClick,%X%%Y%
正确:ControlClick,x%x%x%Y%
第三,如果你看你的代码,你有左
WinText应该在哪里。语法:
ControlClick[,Control或Position,WinTitle,WinText,WhichButton,ClickCount,Options,excludetTitle,ExcludeText]
你不能假设AHK知道左<代码>是按钮。您必须告诉它跳过该字段,方法是在该字段中添加逗号以指示该字段为空。这样它就知道跳过wintext并将Left视为WhichButton
字段
不正确:ControlClick,%X%%Y%,form1,Left
正确:ControlClick,%X%%Y%,form1,,Left
把它们放在一起,你就有了:
PixelSearch, X, Y, 0, 0, 1292, 747, 0x00FF00, 0, fast
if (ErrorLevel = 0){
Sleep, 100
ControlClick, x%X% y%Y%, form1, , Left, 1
}
如果这能解决你的问题,请告诉我
编辑:显然这并没有解决你的问题。我打赌你的控制点击和你传递的信息就是问题所在
确保在脚本开头定义。您需要将其设置为全屏或相对
其次,除非有充分的理由,否则不要使用窗口标题。使用类似于ahk_exe chrome.exe
,而不是form1。它更可靠
#SingleInstance, Force
CoordMode, Pixel, Screen
return
F1::
PixelSearch, X, Y, 0, 0, 1292, 747, 0x00FF00, 0, fast
if (ErrorLevel = 0){
Sleep, 100
ControlClick, x%X% y%Y%, ahk_exe yourExeName.exe, , Left, 1
}
return
你用它做什么程序/站点/游戏?谢谢,但是它不会在像素x y搜索所在的坐标中单击。。只需单击我当前的鼠标位置:(您实际测试过代码吗?ControlClick的问题是它只适用于Coordmode窗口。即使设置Coordmode、Pixel、Window,pixelsearch函数也无法获得与ControlClick使用的坐标匹配的正确坐标。尝试一下,单击将不会在正确的位置。使用“单击”或者鼠标单击可以工作,但如果您不希望鼠标移动并带走焦点,则需要ControlClick。您可以使用WinActivate还原上一个窗口,但当您必须每5~10秒单击一次时,这会变得很烦人。谢谢,但是它不会在pixelsearch的x y坐标中单击。只需单击即可我当前的鼠标位置:(您实际测试过代码吗?ControlClick的问题是它只适用于Coordmode窗口。即使设置Coordmode、Pixel、Window,pixelsearch函数也无法获得与ControlClick使用的坐标匹配的正确坐标。尝试一下,单击将不会在正确的位置。使用“单击”或者鼠标单击可以工作,但如果您不希望鼠标移动并带走焦点,则需要ControlClick。您可以使用WinActivate还原上一个窗口,但当您必须每5~10秒单击一次时,这会变得很烦人。