Autohotkey 自动热键编译器创建的Exe在某个时间后崩溃

Autohotkey 自动热键编译器创建的Exe在某个时间后崩溃,autohotkey,Autohotkey,这是代码,用于使用快捷键。但是exe会在一段时间后关闭。一些建议。您可以使用兼容性选项创建可执行文件的快捷方式。类似于“作为Windows XP sp2执行”的东西可能比从shell启动可执行文件更好。您还可以在每个Send命令之后在脚本中添加一个小延迟。我试图编译它。没有收到任何错误,在后台运行并将其用于spotify。无法再现错误。您编辑的代码是正确的。我的是乱七八糟的,因为它是从编辑器复制/粘贴的。是的,我的代码并没有错误,问题是我编译的Exe在一段时间后崩溃了。它在崩溃之前工作得很好。对

这是代码,用于使用快捷键。但是exe会在一段时间后关闭。

一些建议。您可以使用兼容性选项创建可执行文件的快捷方式。类似于“作为Windows XP sp2执行”的东西可能比从shell启动可执行文件更好。您还可以在每个Send命令之后在脚本中添加一个小延迟。

我试图编译它。没有收到任何错误,在后台运行并将其用于spotify。无法再现错误。您编辑的代码是正确的。我的是乱七八糟的,因为它是从编辑器复制/粘贴的。是的,我的代码并没有错误,问题是我编译的Exe在一段时间后崩溃了。它在崩溃之前工作得很好。对我来说,它在编译之后也工作得很好,即使是在大量使用之后。对不起,您正在使用AHK的版本和设置。我使用的是1.1.21.03 Unicode 32位我使用的是1.1.09.02自动热键ANSI 32位,2012年圣诞节下载(根据AutoHotkey.exe的详细信息),我在兼容模式(Windows功能)下尝试过。我看不出延迟有什么帮助。不走运。延迟可能会改变AutoHotKey内部处理命令的方式。在脚本继续执行下一个命令之前,“发送”或“声音集”等命令可能无法完全完成清理阶段。根据经验,我知道在SendKey命令后添加一个短延迟(50-100毫秒)有助于避免此类错误。根据你的描述,我怀疑你遇到了内存问题。。。然后它没有崩溃,只是优雅地退出了。我还没有用autohotkey做过很多宏编程,听起来好像return结束了这个过程。在常规语言中,我只是在键周围放了一个循环。
; PLAY
+F1:: ;the + means shift
Send {Media_Play_Pause}
return

; MUTE
+F2::
Send {Volume_Mute}
return

; Decrease Volume
+F3::
SoundSet -5
return

; Increase VOLUME
+F4::
SoundSet +5
return

; Previous
+F5:: 
Send {Media_Prev}
return

; Next
+F6::
Send {Media_Next}
return