Jak uzyskać aktualny ProcessID?


83

Jaki jest najprostszy sposób uzyskania bieżącego identyfikatora procesu z własnej aplikacji przy użyciu platformy .NET Framework?


2
Prawdziwe. Myślę, że coś poszło nie tak: D @VictorYarema
Deniz

Odpowiedzi:


121

Odwołać się do bieżącego procesu i użycia System.Diagnostics„s Process.Idnieruchomości:

int nProcessID = Process.GetCurrentProcess().Id;

2
using System.Diagnostics; lub System.Diagnostics.Process.GetCurrentProcess (). Id; Zawsze chronię się i zakładam, że obecne lub przyszłe reguły polityki ograniczą to połączenie w pewnym trybie zablokowanym lub restrykcyjnym, ponieważ ma dostęp do obszarów procesu.
Sql Surfer

17
Process.GetCurrentProcess().Id

Lub, ponieważ Processklasa jest IDisposable, a identyfikator procesu nie zmieni się podczas działania aplikacji, możesz mieć klasę pomocniczą z właściwością statyczną:

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;

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.