【发布时间】:2020-12-15 20:32:26
【问题描述】:
早安,
我在让代码更一致地工作时遇到问题。
我要完成的任务是能够按住左键单击并移动鼠标以仅在 2 个特定坐标之间循环移动鼠标在两个坐标之间来回移动。
以下是我遇到的代码和问题。
`::
BreakLoop = 1 ; ` Breaks The Loop
return ; You must have a return after any multi line hotkey
^!0:: ; Bind to Ctrl + Alt + 0
BreakLoop = 0 ; lets the hotkey reset the BreakLoop var when pressed
MouseGetPos, px, py
Sleep, 300
MouseClick, L, %px%, %py%, , , D
Sleep, 1000
Loop ;Loop Script begins here
{
if (BreakLoop = 1) ; Breaks when Esc is pressed
break
MouseMove, 1069, 889
Sleep, 100
MouseMove, 840, 886
Sleep, 100
}
return
代码的第一部分“MouseGetPos”部分的 4 行按预期工作,但当它转换到循环部分时,它不会始终将鼠标移动到指定坐标,同时仍然按住“MouseClick”命令.在一台计算机上,它似乎几乎总是可以工作。在其他计算机上,它不会单击并移动到指示的坐标,而是单击并移动到与“MouseGetPos”完全相同的位置并开始循环代码,同时移动应用程序屏幕以匹配指示的坐标。
第二,我希望输入一个循环的暂停,这样我就可以手动控制鼠标的移动位置,而无需重置左键单击命令。因此,一旦我取消暂停脚本,它将再次回到 2 个特定坐标之间的循环。
任何帮助将不胜感激
【问题讨论】:
标签: loops autohotkey mousemove mouseclick-event pause