我一直试图解决这个问题,我的程序启动了一个过程(GUI应用程序,如记事本或(地铁)图像),如下所示:
System.Diagnostics.Process execute = new System.Diagnostics.Process();
execute.StartInfo.FileName = (System.IO.Path.GetTempPath() + @"{NR6T7YHYGFDGY77FM74766JTF63IJ78899DV884}\" + System.IO.Path.GetFileNameWithoutExtension(App.args[1]));
execute.EnableRaisingEvents = true;
execute.Exited += delegate
{
File.Delete(System.IO.Path.GetTempPath() + @"{NR6T7YHYGFDGY77FM74766JTF63IJ78899DV884}\" + System.IO.Path.GetFileNameWithoutExtension(App.args[1]));
App.Current.Shutdown();
};
execute.Start();
然后调用this.Hide()
成为后台进程的等效项。现在的问题是,如果我打开一个用Word,照片(Metro)或任何其他可以卸载的应用程序打开的文件,则执行.Exited 永远不会触发。但是,如果我打开一个用记事本,油漆或其他任何无法卸载的应用程序打开的文件,执行。退出 开火..我已经能够排除最大的潜在问题:
execute.EnableRaisingEvents = true;
进程正在引发事件。 Process.WaitForExit();
,但这不起作用请帮助伙伴。