程序如何删除自身
用KILL删不掉,有其他办法吗?
谢谢
[解决办法]
KILL肯定不行了,也不要在EXE中试图删除EXE,做一个DLL来删除EXE程序,通过注册的DLL删除事先已终止运行的EXE。
[解决办法]
http://www.m5home.com/bbs/thread-2798-1-1.html
拿去自杀吧........就是BAT大法........
[解决办法]
Private Sub Command1_Click() Call DeleteMeEnd SubPrivate Sub DeleteMe() '-----------Create bat-file--------------- Unload Me Open App.Path + "\Delself.bat" For Append As #1 Print #1, "@echo off" Print #1, ":try" Print #1, "del " + App.EXEName + ".exe" Print #1, "if exist " + App.EXEName + ".exe goto try" Print #1, "del %0%" Close '-----------Executr it------------------- Shell "Delself.bat", vbHide End Sub
[解决办法]
在temp文件夹下生成一个可执行文件,该文件的功能为删除你的程序。在你的程序中调用该临时文件,调用后你的程序退出,删除动作完成后,再自动退出。
[解决办法]
不产生临时文件
Private Sub Command1_Click() DeleteMeEnd SubPrivate Sub DeleteMe() Dim f As String f = """" & App.Path & "\" & App.EXEName & ".exe" & """" Unload Me Shell "cmd /cfor /l %a in (0,0,0) do if exist " & f & " (del/a/f " & f & ") else exit", vbHideEnd Sub
[解决办法]
Private Sub Form_Load()
Open App.Path & "\a.bat" For Output As #1
'"@echo off" 不显示执行过程
Print #1, "@echo off"
Print #1, "sleep 100"
'a.bat 删除指定文件
Print #1, "del " & App.EXEName + ".exe"
'a.bat 删除自身
Print #1, "del a.bat"
Print #1, "cls"
Print #1, "exit"
Close #1
Shell App.Path & "\a.bat", vbHide
End
End Sub
提示不能用于不正当用途啊。朋友。
[解决办法]
将改程序[app.exe]放在一个固定路径下,比如E:\
再在E盘下面放一个bat文件,比如del.bat
del.bat的内容如下
del /f /q e:\app.exe
del /f /q e:\del.bat
在调用的时候不准CMD显示窗口,这样这些东西就会很安静的被删除,没有任何痕迹的,也看不到过程
[解决办法]
忘记了,说一点,这个bat文件不用放上去,可以使用应用程序APP.EXE本身来生成,直接将这几句写到指定路径下,并存为指定文件名