我需要创建一个动态系统,使我能够自动在 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 解析器:
为了执行实际极其有效的鼠标点击,您可以查看免费的开源鼠标点击器应用程序,它使用 SendInput() Win32 API 和鼠标点击事件数组: