Wie erhalte ich die aktuelle ProcessID?


80

Was ist der einfachste Weg, um die aktuelle Prozess-ID mithilfe von .NET Framework aus Ihrer eigenen Anwendung abzurufen?


2
Wahr. Ich denke, hier ist etwas schief gelaufen: D @VictorYarema
— Deniz

Antworten:


120

Holen Sie sich einen Verweis auf den aktuellen Prozess und verwenden Sie System.Diagnosticsdie Process.IdEigenschaft:

int nProcessID = Process.GetCurrentProcess().Id;

2
using System.Diagnostics; oder System.Diagnostics.Process.GetCurrentProcess (). Id; Ich schütze mich immer und gehe davon aus, dass aktuelle oder zukünftige Richtlinienregeln diesen Aufruf in einem gesperrten oder einschränkenden Modus einschränken, da er auf die Prozessbereiche zugreift.
— SQL Surfer

16
Process.GetCurrentProcess().Id

Da die ProcessKlasse ist IDisposableund sich die Prozess-ID nicht ändert, während Ihre Anwendung ausgeführt wird, können Sie auch eine Hilfsklasse mit einer statischen Eigenschaft haben:

public static int ProcessId
{
    get 
    {
        if (_processId == null)
        {
            using(var thisProcess = System.Diagnostics.Process.GetCurrentProcess())
            {
                _processId = thisProcess.Id;
            }
        }
        return _processId.Value;
    }
}
private static int? _processId;

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.