幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!
至于有没有一直按下要试下才知道,我也没有测试过,但是肯定的是程序并不会向下执行了
只删除脚本(非编译的exe文件)应该不用这么麻烦
如果需要加载完毕后就删除文件可以在自动执行段的最后直接用filedelete直接删除的,如下:
#SingleInstance force
msgbox(A_ScriptFullPath)
FileDelete A_ScriptFullPath
Return
如果需要在程序退出后删除文件,可以在OnExit函数中调用filedelete命令删除,如下:
#SingleInstance force
msgbox("关闭此对话框后,将自动删除脚本")
OnExit "quit"
Return
quit(){
FileRecycle A_ScriptFullPath
Return
}
对于已编译的exe文件,上述方法就不行了,可以试试多线程方法,如下:(慎用,有误删文件的风险,至少我试验的时候误删了很多)
#SingleInstance force
OnExit "quit"
Return
quit(){
msgbox("关闭此消息将删除已编译的exe文件")
Script := "FileRecycle A_ScriptFullPath"
ExecScript(Script, 1)
Return
}
ExecScript(Script, Wait:="true"){
shell := ComObjCreate("WScript.Shell")
exec := shell.Exec("AutoHotkeyU32.exe /ErrorStdOut *")
exec.StdIn.Write(script)
exec.StdIn.Close()
if Wait
return exec.StdOut.ReadAll()
}