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
4

1 に答える 1

-2

私はすでに解決策を持っています。Try..Catch.を追加するだけです。

于 2012-11-30T11:11:18.007 に答える