Ahk 立即停止,重头开始运行怎么写?

$space::

Loop

{

if not GetKeyState(“space”, “P”)
break

Sleep, 1000
MouseClick, left,  857,  26
MouseClick, left,  144,  54
Sleep, 1000
MouseClick, left,  68,  203,  3
Sleep, 100
Send Z%A_YYYY%-%A_MM%-%A_DD%{ENTER}{ENTER}
Sleep, 1000
MouseClick, left,  500,  400
Sleep, 100
MouseClick, left,  500,  400
Sleep, 100
Send, {DOWN}
}
Return
F2::Pause

上面这个脚本就是,按住空格键可以一直运行,松开空格键,运行完后停止

试过 将 if not GetKeyState 改为 if GetKeyState = 脚本启动不了

想要的结果是:

按一下热键A,脚本开始运行。

按一下热键B,脚本立即停止。不是运行完脚本后停止,而是立即停止。

第二次 按一下热键B,脚本从头开始运行。不是从上次停止的地方继续运行下去。

如下:

~Shift::
    while GetKeyState("Shift")
    {
        ToolTip, "1"
        Sleep, 200
        ToolTip, "2"
        Sleep, 200
        ToolTip, "3"
        Sleep, 200
        ToolTip, "4"
        Sleep, 200
        ToolTip, "5"
        Sleep, 200
        ToolTip, "6"
        Sleep, 200
        ToolTip, "7"
        Sleep, 200
        ToolTip, "8"
        Sleep, 200
        ToolTip, "9"
        Sleep, 200
        ToolTip
    }
return

~Shift UP::Reload

脚本直接复制,出现以上问题,请问是什么原因呢?

复制试了下没发现问题
可能是版本问题吧?
我用的是官网的单文件Unicode 64-bit版本 链接

这个是不用安装的绿色版
把.ahk文件的文件关联改成新版AutoHotkey.exe就行了
任意.ahk文件→右键→"打开方式”→改为新的AutoHotkey.exe的路径→勾选“始终用……”

1 个赞

新版的很奇怪啊

1、放到新的地方,显示

2、替换原来的文件,却是打开帮助文件。。。

请问要怎么安装?