2013-02-04 39 views
-2

我有以下代码:过程waitForExit()不工作

Process p = new Process(); 
p.StartInfo.FileName = Path.GetDirectoryName(Application.ExecutablePath) + "\\unRAR.exe"; 



p.StartInfo.Arguments = @"e c:\appData.rar c:\folderek\"; 

p.Start(); 
p.WaitForExit(9000); 

我想的窗口,不是解压文件后关闭(unRAR.exe把它们提取出来)。 WaitForExit(9000)似乎不起作用。我读了几十个网站,仍然找不到任何解决方案。

+2

什么“似乎不工作”是什么意思?难道解释实际问题(预期的行为,你实际得到的东西(错误...)等) – ken2k

+0

它不会等待,我希望窗口保持可见并且不会自动关闭。是否有可能让进程等待对于按键? – user1284257

+1

这不在你的控制范围之内如果你执行的应用程序中的代码正在关闭它的窗口,那么你就没有办法阻止它。 W上。 –

回答

1

http://msdn.microsoft.com/en-us/library/fb4aw7b8.aspx阅读这篇文章告诉你,WaitForExit()不保持程序活着,它只是等待关联的程序退出。如果关联的程序(unzip.exe在这里)退出,您将而不是能够停止unzip.exe程序退出。

0

Process.WaitForExit使申请等待其他进程退出。它对已启动的流程本身没有任何影响。

0

尝试创建批处理文件并插入有命令等待(使用命令超时或其它溶液从线程Sleeping in a batch file

,并开始处理你的bat文件