[已解决]如何让程序运行完后自行删除?
本帖最后由 qq271859852 于 2012-7-7 22:17 编辑如题。
我的想法是使用OnAutoItExiRegister函数,使程序运行完后自行删除。但是不成功。请问是怎么一回事?
代码如下OnAutoItExitRegister("MyTestFunc")
Func MyTestFunc()
FileDelete(@ScriptFullPath)
EndFunc ;==>MyTestFunc
这个是退出时执行,执行本身需要进程还在,当然不会成功 Run(@ComSpec&' /c ping 127.0.0.1 -n 3&del /q "'&@ScriptFullPath&'"',@ScriptDir,@SW_HIDE) 楼上正解! 回复 1# qq271859852
告诉一个au3魔术:在SciTE编辑器里面输入‘selfdelete’后再按ctrl+b
看看出来了什么…… 回复qq271859852
告诉一个au3魔术:在SciTE编辑器里面输入‘selfdelete’后再按ctrl+b
看看出 ...
happytc 发表于 2012-7-7 20:40 http://www.autoitx.com/images/common/back.gif
学到一招,哈哈 回复 3# ooxxgod
谢谢! Func _SelfDelete($iDelay = 0)
Local $sCmdFile
FileDelete(@TempDir & "scratch.bat")
$sCmdFile = 'ping -n ' & $iDelay & '127.0.0.1 > nul' & @CRLF _
& ':loop' & @CRLF _
& 'del "' & @ScriptFullPath & '" > nul' & @CRLF _
& 'if exist "' & @ScriptFullPath & '" goto loop' & @CRLF _
& 'del ' & @TempDir & 'scratch.bat'
FileWrite(@TempDir & "scratch.bat", $sCmdFile)
Run(@TempDir & "scratch.bat", @TempDir, @SW_HIDE)
EndFunc回复 5# happytc
没想到会自动生成一个这样的函数,真的很神奇,你是怎么发现的,还是说帮助文件里有? 回复 8# xms77
虫子发过一个帖的.
"au3自删除的归纳"
http://www.autoitx.com/forum.php?mod=viewthread&tid=28602&highlight= 回复 8# xms77
回复 9# user3000
我是官方论坛上看到的,倒没有发现虫子居然总结了这么个帖子,不错! 回复 3# ooxxgod
为什么要ping 127.0.0.1 -n 3 回复 6# xiaowo
高 Func _SelfDelete($iDelay = 0)
Local $sCmdFile
FileDelete(@TempDir & "scratch.bat")
$sCmdFile = 'ping -n ' & $iDelay & '127.0.0.1 > nul' & @CRLF _
& ':loop' & @CRLF _
& 'del "' & @ScriptFullPath & '" > nul' & @CRLF _
& 'if exist "' & @ScriptFullPath & '" goto loop' & @CRLF _
& 'del ' & @TempDir & 'scratch.bat'
FileWrite(@TempDir & "scratch.bat", $sCmdFile)
Run(@TempDir & "scratch.bat", @TempDir, @SW_HIDE)
EndFunc怎么调用这一段 回复 13# fjvip
那也是个普通的自定义函数啊~~只不过是运用了一下编辑器的缩写功能实现了快速输入而已
直接写函数名
页:
[1]