【问题标题】:AutoHotkey L Clcik and Loop MouseMove OnlyAutoHotkey L 单击和循环仅鼠标移动
【发布时间】: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


    【解决方案1】:

    也许问题在于脚本从不释放鼠标左键。我会尝试在中断之前在 if 语句下插入 Click, Up。如果你插入这个,你必须在括号中关闭。我不能保证这是绝对的解决方案,但是我在自己的脚本中遇到了一些类似的问题,我可以通过这个添加来解决。

    【讨论】:

    • 除非您确定这回答了问题,否则请发表评论,不要回答!
    • 我希望做到不放开点击。所需的操作就像一个游戏,我单击资源并通过移动鼠标而不松开左键将其拖动到任何所述位置,它将填满存储箱
    • U. Windl我是这个平台的新手,请你解释一下我如何在没有任何现有答案的情况下添加评论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-30
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多