|
感觉这样效果不错,通用性高点,XP、Win7都可以运行
(注:在IDE环境下运行调试本程序,请慎重~~) 窗体Form_load中调用Call KillMe 即可
- '模块代码
- Private Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
- Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long '获取自己的PID
- Private Declare Sub ExitProcess Lib "kernel32" (ByVal uExitCode As Long)
- 'BY zhuixin8@qq.com
- 'http://www.imcode.cn
- Public Sub KillMe()
- Dim MyFilename As String
- Dim tmp As String * 255
- Dim l As Integer
- l = GetModuleFileName(0, tmp, 255)
- MyFilename = Mid(tmp, 1, l)
- ' taskkill速度快
- ' Shell "cmd /c taskkill /f /pid " & GetCurrentProcessId & " && del """ & MyFilename & """", vbHide
- ' NTSD结束进程速度慢,貌似试一次还不够
- ' Shell "cmd /c ntsd -c q -p " & GetCurrentProcessId & " && del """ & MyFilename & """", vbHide
- ' 用PING来延时,自己退出等着被删不错
- Shell "cmd /c ping 127.0.0.1 -n 1 && del """ & MyFilename & """", vbHide: ExitProcess (0)
- End Sub
复制代码
|
|