Beenden einer Anwendung programmatisch einen Dateipfad in vb.net verwenden
Frage
Ich möchte eine Anwendung beenden den vollständigen Dateipfad über vb.net verwenden, aber ich konnte es nicht unter Prozess finden. Ich habe gehofft, für ein einfaches Process.Stop (filepath), wie mit Process.Start, aber kein Glück.
Wie kann ich das tun?
Lösung
Sie würden in jedem Prozess Module Eigenschaft suchen müssen, und wiederum, überprüfen Sie die Dateinamen gegen den gewünschten Pfad.
Hier ist ein Beispiel:
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
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());
EDIT:. den Code aktualisiert für String-Vergleiche Groß- und Kleinschreibung zu berücksichtigen
Andere Tipps
Versuch
System.Diagnostics.Process.GetProcessesByName (nameOfExeFile) .First (). Tötet ()
Dies ignoriert den Pfad der Datei.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow