2010-06-23 12 views
9

Aunque el título del tema explica la mayor parte de la pregunta, me gustaría esbozar el escenario para que comprenda en qué contexto se presenta esta pregunta.¿Está usando GetProcessesByName la mejor manera de verificar si un proceso se está ejecutando?

Tengo una aplicación que es como una lista de contactos de Outlook. Obtiene todos los contactos de Outlook y el resultado es que se muestran en una vista de cuadrícula de datos. Ahora, en lugar de iniciar Outlook cada vez que se abre y cerrar la aplicación, quiero que no se abra cuando ya esté abierto y que permanezca abierto cuando la aplicación se cierre y el usuario ya haya ejecutado Outlook. Aquí está mi uso:

Process[] pName = Process.GetProcessesByName("OUTLOOK"); 
if (pName.Length == 0) 
{ 
    MessageBox.Show("Outlook is not running."); // Open Outlook anew. 
} 
else 
{ 
    MessageBox.Show("Outlook is running."); // Do not re-open Outlook. 
} 

Es esta la manera mejor y más segura de hacerlo? Gracias de antemano.

Respuesta

5

Sí. No puedo pensar en una mejor manera.

Cuestiones relacionadas