使用GetProcessesByName检查进程是否正在运行的最佳方法?

Fus*_*ion 9 c# outlook process

尽管主题标题解释了大部分问题,但我想草拟出这个场景,以便您了解这个问题的背景.

我有一个类似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.
}
Run Code Online (Sandbox Code Playgroud)

这是最好和最安全的方式吗?先感谢您.

Pav*_*sky 5

是.我想不出更好的方法.