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

9
尽管主题标题已经解释了大部分问题,但我想勾画出场景,以便您理解这个问题的背景。
我有一个应用程序,类似于Outlook联系人列表。它从Outlook获取所有联系人,结果是它们在数据网格视图中显示。现在,我不想每次打开我的应用程序时都启动Outlook并关闭它,而是希望当Outlook已经打开并且用户已经运行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
是的。我想不出更好的方法了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接