我有一个生成.pdf文件的应用程序,并使用myProcess.start(pdfFileName)打开它; 。在Winfom应用程序中按钮上的单击事件的事件处理程序中调用此调用。
一切正常,除非我在Acrobat Reader启动后退出(alt-f4或使用右上角十字架)我的应用程序,我的应用程序不会停止:表格消失,但VS中的调试会话即使我已经退出Acrobat Reader,也不会停止。如果我在realese中编译和/或从Windows启动exe而不是从VS启动exe,那么beahaviour是相同的,然后我必须使用任务管理器终止进程。
我在文档中找不到任何内容,但我知道这一定是一个非常常见的问题吗?
谢谢, 云庭。
答案 0 :(得分:2)
您需要挂钩ProcessExit event
myProcess.StartInfo.FileName = fileName;
myProcess.EnableRaisingEvents = true;
myProcess.Exited += new EventHandler(myProcess_Exited);
myProcess.Start();
[...]
private void myProcess_Exited(object sender, System.EventArgs e) {
Application.Exit();
}
答案 1 :(得分:0)
在应用程序关闭时运行的代码部分,例如退出事件,您可以终止该进程。见http://msdn.microsoft.com/en-us/library/05abh773(v=vs.71).aspx
答案 2 :(得分:0)
我刚刚使用Acrobat阅读器对其进行了测试,并且应用程序正常退出。您必须在循环中保留后台进程或线程。
答案 3 :(得分:0)
theProcess.EnableRaisingEvents = true;
theProcess.Exited += delegate(object sender, System.EventArgs e)
{ Application.Exit(); }
theProcess.Start();