我正在开发一个 Windows 窗体应用程序,我需要在其中编辑某些配置文件。现在,当用户单击编辑选项时,我想在一个简单的记事本编辑器中启动这些配置文件。一旦启动,我想停止我的应用程序。只有当用户关闭记事本编辑器时,我才想停止我的应用程序。如何才能做到这一点 ?
我看过这些问题,但答案有很多问题。(我阅读了那里给出的评论。)
var process = System.Diagnostics.Process.Start("yourfile.txt");
process.WaitForExit();
这将打开您的文件。但是,有时该过程将为空,您将无法等待退出。为什么?
Process.Start 方法
返回值类型:System.Diagnostics.Process
与流程资源关联的新流程组件,如果没有启动流程资源(例如,如果重用现有流程),则为 null。
您可以使用退出事件:
try
{
Process myProcess = new Process();
myProcess.StartInfo.FileName = "notepad.exe";
myProcess.StartInfo.Arguments = @"C:\PathToYourFile";
myProcess.EnableRaisingEvents = true;
myProcess.Exited += new EventHandler(myProcess_Exited);
myProcess.Start();
}
catch (Exception ex)
{
//Handle ERROR
return;
}
// Handle Exited event and display process information.
private void myProcess_Exited(object sender, System.EventArgs e)
{
eventHandled = true;
Console.WriteLine("Exit time: {0}\r\n" +
"Exit code: {1}\r\nElapsed time: {2}", myProcess.ExitTime, myProcess.ExitCode, elapsedTime);
}
您可以启动一个Process
and WaitForExit
:
Process pr = Process.Start("Notepad");
pr.WaitForExit();