Использование GetProcessesByName - лучший способ проверить, запущен ли процесс? - PullRequest
9 голосов
/ 23 июня 2010

Несмотря на то, что название темы объясняет большую часть вопроса, я хотел бы набросать сценарий, чтобы вы понимали, в каком контексте поставлен этот вопрос.

У меня есть приложение, похожее на список контактов Outlook. Он получает все контакты из Outlook, и в результате они отображаются в виде сетки данных. Теперь вместо того, чтобы запускать Outlook каждый раз, когда мое приложение открывается и закрывать его, я хочу, чтобы оно не открывалось, когда оно уже открыто, и оставалось открытым, когда мое приложение закрывалось и пользователь уже запустил Outlook. Вот мое использование:

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.
}

Это лучший и самый безопасный способ сделать это? Заранее спасибо.

1 Ответ

5 голосов
/ 23 июня 2010

Да. Я не могу придумать лучшего способа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...