我已经编写了一个AHK脚本,当热键^!e::
被按下时,它会发送一组键盘键。这个脚本需要几秒钟才能完成,但有时我需要在脚本完成任务之前停止执行。我知道这可以通过将ExitApp
函数设置为另一个热键来完成,但这将关闭脚本。因此,如果我需要再次触发脚本,就需要重新打开.ahk
文件。
如果不关闭脚本,怎么能停止它呢?我也需要这样,当它再次被触发时,它从一开始就发送密钥,而不是从我停止时它停止的位置发送。
编辑:,让我们以这个代码为例,
^!q::
SoundBeep, 208
SoundBeep, 155
SoundBeep, 208
SoundBeep, 196
SoundBeep, 208
return
发布于 2021-07-09 11:50:20
要解决这个问题,您可以做的是有两个不同的脚本文件。
MainScript.ahk:
; Starts the secondary-file into its own process:
^!l::run SecondaryScript.ahk ; Ctrl+Alt+L
SecondaryScript.ahk:
#SingleInstance Force
SoundBeep, 208
SoundBeep, 155
SoundBeep, 208
SoundBeep, 196
SoundBeep, 208
ExitApp
^!q::ExitApp ; Ctrl+Alt+Q
在SecondaryScript完成其代码的自动执行之后,它将发出ExitApp
,它将杀死当前正在其内部执行的进程。
如果要中止执行,则可以使用在脚本的自动执行部分下定义的热键。
发布于 2022-01-23 05:23:43
要做到这一点:
1.转到系统托盘(
)
2.右击
符号。
3.点击挂起的热键
单击“暂停脚本”会发生什么?可怕的事。
例句:如果你把
键,这个有用的键将被关闭。
希望这能帮上忙。
发布于 2022-11-11 14:07:34
我发现了一个在没有单独启动脚本的情况下重新启动当前脚本的技巧:
Esc::
Reload
ExitApp
显然,Reload
重新加载当前脚本。(注意:命令行参数不会传递给新实例。)然后ExitApp
确保当前实例立即死亡,即使重新加载失败。
其效果类似于Hampus的解决方案,但不需要硬编码或在脚本中指定任何文件名,对于具有多个长时间运行热键的脚本来说,这要方便得多,这将需要一个单独的脚本文件,每个脚本文件都带有启动程序方法。
https://stackoverflow.com/questions/68235272
复制相似问题