重复进程启动未按预期响应



我正试图用c#打开一个进程,并在它关闭时对它做出反应。这项工作是给我的:

private void StartProc()
{
var process = new System.Diagnostics.Process { StartInfo = { FileName = "PathTo.exe" } };
process.Start();
process.EnableRaisingEvents = true;
process.Exited += this.Editor_Exited;
}
private void Editor_Exited(object sender, EventArgs e)
{
MessageBox.Show("Process canceled");
}

假设我正在用这段代码打开一个文本编辑器。如果已经有此文本编辑器的实例,则代码不会打开第二个实例,并且也会立即跳转到Editor_Exited代码中。

我希望代码打开一个新的实例,不要跳到Editor_Exited代码中。

string processName = "PathTo.exe";
var process = new System.Diagnostics.Process { StartInfo = { FileName = processName  } };
if (process.Start())
{
process.EnableRaisingEvents = true;
process.Exited += this.Editor_Exited;
}
else
{
var p = Process.GetProcessesByName(processName);
p.WaitForExit();
}

我知道这不是你所要求的100%,但这是围绕的工作

相关内容

  • 没有找到相关文章

最新更新