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

时间:2010-06-23 08:46:00

标签: 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.
}

这是最好和最安全的方式吗?提前谢谢。

1 个答案:

答案 0 :(得分:5)

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