使用vb.net中的文件路径以编程方式终止应用程序

Cyc*_*one 6 vb.net terminate

我想通过vb.net使用完整文件路径终止应用程序,但我在Process下找不到它.我希望有一个简单的Process.Stop(文件路径),就像Process.Start一样,但没有这样的运气.

我怎么能这样做?

Ahm*_*eed 2

您必须查看每个进程的“模块”属性,然后根据所需的路径检查文件名。

这是一个例子:

网络

    Dim path As String = "C:\Program Files\Ultrapico\Expresso\Expresso.exe"
    Dim matchingProcesses = New List(Of Process)

    For Each process As Process In process.GetProcesses()
        For Each m As ProcessModule In process.Modules
            If String.Compare(m.FileName, path, StringComparison.InvariantCultureIgnoreCase) = 0 Then
                matchingProcesses.Add(process)
                Exit For
            End If
        Next
    Next

    For Each p As Process In matchingProcesses
        p.Kill()
    Next
Run Code Online (Sandbox Code Playgroud)

C#

string path = @"C:\Program Files\Ultrapico\Expresso\Expresso.exe";
var matchingProcesses = new List<Process>();
foreach (Process process in Process.GetProcesses())
{
    foreach (ProcessModule m in process.Modules)
    {
        if (String.Compare(m.FileName, path, StringComparison.InvariantCultureIgnoreCase) == 0)
        {
            matchingProcesses.Add(process);
            break;
        }
    }
}

matchingProcesses.ForEach(p => p.Kill());
Run Code Online (Sandbox Code Playgroud)

编辑:更新了代码以考虑字符串比较的区分大小写。