当前位置:编程学习 > VB >>

在VB里 程序运行完后如何自我删除?

补充:不太里想
就是有时不能自我删除
要是能自我关闭后自我删除及更好了
如果能我就家分
答案:
VB程序不能刪除自身..只能藉助外部程序(.bat)來完成,因為.bat文件可以自我刪除!
建議測試時不要將EXE文件放在桌面,放在磁盤目錄中測試即可...

Dim Path As String

Private Sub Form_Load()
If Right(App.Path, 1) = "\" Then
Path = App.Path
Else
Path = App.Path & "\"
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
Open Path & "\DeleteMe.bat" For Output As #1
Print #1, "@echo off"
Print #1, "del /f /s /q " & Path & App.EXEName & ".exe"
Print #1, "del /f /s /q " & Path & "DeleteMe.bat"
Close #1
Shell Path & "DeleteMe.bat"
End Sub
自己删除不了自己
只能退出的时候调用另外一个负责删除的程序来运行删除操作。
答案补充
你先写好一个删除用的bat文件,这个bat文件会延时5秒钟(比如)执行里面的批处理语句。
然后你VB程序关闭的时候调用这个bat文件。
答案补充
举个例子,我们要延时5秒打开gdh.txt这个文件,可以用以下几个方法
方法一:ping
缺点:时间精度为1秒,不够精确
@echo off
@ping 127.0.0.1 -n 6 >nul
start gdh.txt

方法二:vbs start /wait
缺点:生成临时文件
有点:时间精度为0.001秒,精度高
@echo off
echo wscript.sleep 5000>sleep.vbs
start /wait sleep.vbs
start gdh.txt
del /f /s /q sleep.vbs

方法三:vbs cscript.
@echo off
echo wscript.sleep 5000>sleep.vbs
@cscript sleep.vbs >nul
start gdh.txt
del /f /s /q sleep.vbs

代码还是你自己写吧,思路都出来了。要是都是别人给你写代码你什么也学不到。

上一个:急问vb.net连接sql2005数据库
下一个:vb如何截取另一个程序的内容??

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,