【发布时间】:2018-04-13 17:28:00
【问题描述】:
我已经构建了一个 C# Windows 窗体应用程序。当表单加载时,它是全屏的。表单上有启动其他应用程序(不是表单)的图标。我正在尝试确定应用程序是否已经在运行,如果没有,则启动它,否则将其置于最前面。我已经完成了确定应用程序是否正在运行,如果没有,启动它,我只是不知道如何将它带到前面。我在 Google 和 Stack Overflow 上阅读了其他结果,但无法让它们正常工作。
非常感谢任何帮助!
到目前为止,我的代码是:
private void button4_Click(object sender, EventArgs e)
{
Process[] processName = Process.GetProcessesByName("ProgramName");
if (processName.Length == 0)
{
//Start application here
Process.Start("C:\\bin\\ProgramName.exe");
}
else
{
//Set foreground window
?
}
}
【问题讨论】:
-
看看stackoverflow.com/questions/2636721/… ...它应该可以工作 - 不管 showintaskbar 部分。
-
Process.Start() 返回一个 Process 对象。不要丢失它。您需要它的 Exited 事件才能知道它已终止。您可能会喜欢它的 MainWindowHandle 属性。
-
我觉得这是一个很好的代码,但我无法理解在哪里输入有关它应该搜索的程序的细节。 stackoverflow.com/a/37724335/6490340