读书人

100分vb.net强制删除文件

发布时间: 2012-03-14 12:01:12 作者: rapoo

100分求助,vb.net强制删除文件。
我在制作一个小工具时碰到文件正在使用的时候,就无法删除文件。

请高手指点一下,如何强制删除文件。

有时有些文件是因为确实有进程在使用,那么可以杀掉一些非系统进程来删除文件。

有时是因为内存的原因,无法删除。

有时是因为系统进程在使用该文件,那么如何重启后删除该文件

请给出代码指点一下,分不够可以再加。

[解决办法]
沙发,帮顶

先杀进程再删除文件

VB.NET code
//杀进程代码     Private Sub KillProcess(ByVal processName As String)         Dim myproc As System.Diagnostics.Process = New System.Diagnostics.Process         Try             For Each thisproc As Process In Process.GetProcessesByName(processName)                 If (Not thisproc.CloseMainWindow()) Then                     thisproc.Kill()                 End If             Next         Catch         End Try     End Sub
[解决办法]
在 Win32NT 类的操作系统 (Windows 2000、Windows XP、Windows 2003) 中,正在使用的文件可以通过 File.Move(InUseFileName, TempFileName); 改名成功,然后再 File.Delete(TempFileNam); 进行删除。

[解决办法]
试下API函数SHFileOperation可不可以
[解决办法]
如果核心态系统进程开机启动就调用该文件,那么就非常麻烦了,但我估计你的问题不是这样吧
如果不是,你可以在自己的程序中截获关机消息,把要删除的文件路径记录在一个文件中,重启时你的程序
需要自动运行,先检查记录文件中有没有待删文件,有则删除即可
[解决办法]
My.Computer.FileSystem.DeleteFile("C:\1.txt")

'对在用的文本文件可以删除,已测试
[解决办法]
Winstart.bat在系统加载win.com后执行.很多软件安装后对自身的清理就由它负责,重启时删除.
这玩意儿挺可恶的.

你可以网上找找相关的资料.
[解决办法]
http://topic.csdn.net/t/20060209/10/4546833.html
值得学习

读书人网 >VB Dotnet

热点推荐