Windows 上的自动动态点击脚本

Windows 上的自动动态点击脚本

我需要创建一个动态系统,使我能够自动在 Windows 客户端上移动鼠标。

我在网上找到了可能符合我需求的 Autohotkey 程序,但我需要的不仅仅是单击 (x,y) 坐标。

我想找到一种方法,让程序遵循文件中找到的指令,这些指令可以随时进行编辑。

例如第一次的指令文件可能看起来像:

click at (150,250)
pause
click at (170,200)

然后程序应该检查该指令文件是否有变化(以给定的刷新率),如果不同,可能如下所示:

click at (200,700)
pause
click at (250,10)

有什么想法可以解决这个问题吗?

答案1

您必须解析您的文件并从中提取命令,然后让您的脚本执行它。

这是一个简单的例子:

FileRead, commandInputs, Commandfile.txt

; Loop through the command input list
Loop, Parse, commandInputs, `n
{
    ; Split each line into command/params
    tempArray := StrSplit(A_LoopField, A_Space)

    ; If this exists, you have too many spaces in your input
    if (tempArray[3]) {
        msgBox, 16, Error!, Too many spaces in the input.
        return
    }

    ; Check if the command is "pause"
    if (tempArray[1] = "pause") {
        Sleep, 1000 ; Sleep for 1 second
    }

    ; Check if the command is "click"
    if (tempArray[1] = "click") {
        Click, % tempArray[2]
    }
}

请注意,这需要以下输入格式:

Command (Space) Param,Param,Param

例子:

click 150,250
pause
click 170,200

如果你在其中添加更多空格,则必须修改StrSplit()功能并使用不同的分隔符。

答案2

我想有些应用程序可以满足您的需要,但它们是昂贵的专业工具。

另一方面,您可以自己编写一个您喜欢的小程序。您无需考虑脚本语言,可以使用现成的免费开源 JavaScript 解析器:

http://duktape.org/

为了执行实际极其有效的鼠标点击,您可以查看免费的开源鼠标点击器应用程序,它使用 SendInput() Win32 API 和鼠标点击事件数组:

https://sourceforge.net/projects/fast-mouse-clicker-pro/

相关内容