vb.net의 파일 경로를 사용하여 프로그래밍 방식으로 응용 프로그램 종료

StackOverflow https://stackoverflow.com/questions/1402126

  •  05-07-2019
  •  | 
  •  

문제

vb.net을 통해 전체 파일 경로를 사용하여 응용 프로그램을 종료하고 싶지만 프로세스에서 찾을 수 없었습니다. 나는 Process.Start와 같이 쉬운 과정 (Filepath)을 쉬기를 바랐지만 운이 좋지는 않았다.

어떻게 그렇게 할 수 있습니까?

도움이 되었습니까?

해결책

각 프로세스 '모듈 속성을 살펴보고 원하는 경로에 대한 파일 이름을 확인해야합니다.

예는 다음과 같습니다.

vb.net

    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

씨#

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());

편집하다: 문자열 비교를 고려하여 사례 민감도를 취하도록 코드를 업데이트했습니다.

다른 팁

노력하다

System.diagnostics.process.getProcessesByName (nameofExefile) .first (). kill ()

이것은 파일의 경로를 무시합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top