¿Cómo obtener el ProcessID actual?


83

¿Cuál es la forma más sencilla de obtener el ID del proceso actual desde su propia aplicación, utilizando .NET Framework?


2
Cierto. Supongo que algo salió mal aquí: D @VictorYarema
Deniz

Respuestas:


121

Obtenga una referencia al proceso actual y use System.Diagnosticsla Process.Idpropiedad:

int nProcessID = Process.GetCurrentProcess().Id;

2
utilizando System.Diagnostics; o System.Diagnostics.Process.GetCurrentProcess (). Id; Siempre me protejo y asumo que las reglas de política actuales o futuras restringirán esta llamada en algún modo bloqueado o restrictivo porque accede a las áreas de proceso.
Sql Surfer

17
Process.GetCurrentProcess().Id

O, dado que la Processclase sí lo es IDisposable, y el ID de proceso no va a cambiar mientras se ejecuta la aplicación, podría tener una clase auxiliar con una propiedad estática:

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;

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.