是否有可能控制点击与像素搜索一起工作在autohotkey?

时间:2017-06-13 07:29:40

标签: autohotkey

我无法控制点击我试图在不移动鼠标的情况下模拟控制点击,但是当我运行时我总是得到错误我的代码中有错误。

PixelSearch, X, Y, 0, 0, 1292, 747, 0x00FF00, 0, fast
        if(ErrorLevel=0) 
        sleep, 100
        ControlClick, %X% %Y%, form1, Left, 1

1 个答案:

答案 0 :(得分:2)

你错过了一些事情。

首先,If Statements只执行它们下面的行。如果你有超过1行代码,你必须把它放在花括号中。它被称为A Block/Blocking (Multiple Lines of Code Inside Braces)

其次,您的ControlClick语法错误。如果你正在传递坐标,你必须将x和y放在它们前面,这样controlclick就知道它们是坐标。

不正确:
ControlClick, %X% %Y%

正确:
ControlClick, x%X% x%Y%

第三,如果你查看你的代码,你应该有Left WinText所在的位置 ControlClick的语法:
ControlClick [, Control-or-Position, WinTitle, WinText , WhichButton, ClickCount, Options, ExcludeTitle, ExcludeText]

你不能假设AHK知道Left是按钮。你必须告诉它跳过该字段,在那里放一个逗号来表示该字段为空。这样它就知道跳过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
    }

如果能解决您的问题,请告诉我。

编辑:显然这不能解决您的问题。我打赌你的控制点击,你传递的信息就是问题。

确保在脚本开头定义CoordMode。您需要将其设置为全屏或相对。

接下来,除非有充分的理由,否则不要使用WinTitle的窗口标题。而不是form1,使用像ahk_exe chrome.exe这样的东西。它更可靠。

#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

您使用此程序/网站/游戏的目的是什么?