【问题标题】:Process waitForExit() doesn't work进程 waitForExit() 不起作用
【发布时间】:2013-02-04 13:54:56
【问题描述】:

我有以下代码:

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);

我希望在提取文件后不要关闭窗口(@98​​7654322@ 提取它们)。 WaitForExit(9000) 似乎不起作用。我看了几十个网站,仍然找不到任何解决方案。

【问题讨论】:

  • “似乎不起作用”是什么意思?一定要解释实际问题(预期的行为,你实际得到的(错误...)等)。
  • 它不会等待。我希望窗口保持可见并且不会自行关闭。进程是否有可能等待按键?
  • 这不在你的控制范围内。如果您执行的应用程序中的代码正在关闭它的窗口,那么您无法阻止它。查找未关闭其窗口的其他实用程序。
  • @user1284257 您所描述的与您的问题非常不同。您的代码等待进程退出,您的进程只是在您希望它退出之前退出。
  • 啊我明白了。谢谢。

标签: c# process waitforexit


【解决方案1】:

http://msdn.microsoft.com/en-us/library/fb4aw7b8.aspx 阅读本文告诉你WaitForExit() 不会让程序保持活动状态,它只是等待关联的程序退出。如果相关程序(此处为 unzip.exe)退出,您将无法阻止unzip.exe 程序退出。

【讨论】:

    【解决方案2】:

    Process.WaitForExit 使您的 应用程序等待其他 进程退出。它对启动的进程本身没有任何影响。

    【讨论】:

      【解决方案3】:

      尝试创建bat文件并插入命令等待(使用命令超时或线程Sleeping in a batch file的其他解决方案

      然后开始处理你的 bat 文件

      【讨论】:

        猜你喜欢
        • 2017-04-07
        • 1970-01-01
        • 1970-01-01
        • 2014-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多