1
我正在尝试创建一个文件解锁程序,它获取使用该文件的进程,并使其被杀死以使其能够被删除。当我的目标文件是WMP文件时没关系。但是当涉及到dll和iso时,我无法实现它。我在这条线上遇到了问题:无法枚举进程模块
这是用来获取进程名称。任何帮助表示赞赏。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnShow.Click
Dim files As New List(Of String)
files.Add(OpenFileDialog1.FileName)
Dim Processes As List(Of Process) = Util.GetProcessesUsingFiles(files)
RichTextBox1.AppendText(vbCrLf & "Processes that using the file is:")
For Each p As Process In Processes
TextBox1.Text = (Path.GetFileName(p.MainModule.FileName))
TextBox1.Text = TextBox1.Text.Replace(".exe", "")
Next
Timer1.Start()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKill.Click
If TextBox1.Text = ("Nothing") Then
MsgBox("No proccess is using that file.")
ElseIf MsgBox("Proccess(es) killed") Then
End If
For Each p As Process In System.Diagnostics.Process.GetProcessesByName(Path.GetFileName(TextBox1.Text))
Try
p.Kill()
' possibly with a timeout
p.WaitForExit()
' process was terminating or can't be terminated - deal with it
Catch winException As Win32Exception
' process has already exited - might be able to let this one go
Catch invalidException As InvalidOperationException
End Try
Next
您发布的那一行代码,不必为获取该进程而杀死它。你曾经尝试和研究过什么? – Styxxy
这只是我的代码的一行。我使用这个http://mdetras.com/2011/06/11/get-processes-locking-a-file-in-vb-net/。 – Gunners98
我们需要您发布的链接的TL版本,关于您的具体问题。 – Neolisk