也就是说程序进程还在,但是自身exe已经被删除了?有方法吗?
解决方案 »
- 怎样退出三重循环
- 请教高手!在线等待,下面的错误原因是??? 我想了3天了!!! Set rs3 = db.OpenRecordset(sql, dbOpenDynaset)“参数不足,期待是1”
- 求解一条算法,得到最佳的结果.高分求解!
- 怎样用VB读写任意DLL或EXE文件的版本信息
- 大家好!请问各位,VB或者VBA用什么方法可以调用Delphi设计的界面啊?
- 怎么样在菜单前加上一图标而使其后的文字可见。
- 如果你能解决这个问题我就服你了,用VB有没有可能做到这样:
- 真的有难度我想能用好办法实现的人一定是高手?
- 添加一条新记录后,怎么样让datagrid1控件自动刷新一下
- 对文件的操作?
- 如何使用ado对象添加一条记录
- vb問題想求於高手
我们可以在VB需要自删除的时候,先写一个批处理文件在当前目录下,名字叫做Uninstall.bat,然后,退出程序的时候外调这个批处理文件即可。建立一个按钮叫做cmdDeleteMySelf即可测试:VB.exe:
'Project: Delete OneSelf Demo
' File: frmDeleteOneSelfDemo.frm
' Description: This program show how to delete oneself
'
Private Sub cmdDeleteMySelf_Click()
Call funBuildABatch
Shell funMyPath & "Uninstall.bat", vbHide
End
End Sub' Procedure: funBuildABatch
' Description: Build a batch file for delete uninstall execute file.
' Parameters: none.
' Return value: none.
'
Function funBuildABatch()
Dim sFileNameSave As String
sFileNameSave = funMyPath & "Uninstall.bat"
Open sFileNameSave For Output Shared As #1
Print #1, "Del " & App.EXEName & ".exe"
Print #1, "Del Uninstall.bat"
Close #1
End Function' Procedure: funMyPath
' Description: define the user's current path.
' Parameters: none
' Return value: String:user's current path.
'
Function funMyPath()
If Right(App.Path, 1) <> "\" Then
funMyPath = App.Path & "\"
Else
funMyPath = App.Path
End If
End Function
呵呵,去www.cmfu.com找答案吧。
在运行SHELL语句时,其实这时还没有运行END语句,也就是程序并没有完全退出,这时调用批处理程序可以成功删除程序本身吗?和上面所说的EXE程序运行时不能删除自身不是矛盾吗?
研究一下