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.