-1

次のコードがあります。

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)動作しないようです。何十ものサイトを読みましたが、まだ解決策が見つかりません。

4

3 に答える 3

1

http://msdn.microsoft.com/en-us/library/fb4aw7b8.aspxこの記事を読むと、WaitForExit()はプログラムを存続させず、関連するプログラムが終了するのを待つだけであることがわかります。関連するプログラム (ここでは unzip.exe) が終了すると、プログラムの終了を止めることはできませんunzip.exe

于 2013-02-04T14:03:05.653 に答える
0

Process.WaitForExit他のプロセスが終了するまでアプリケーションを待機させます。開始されたプロセス自体にはまったく影響しません。

于 2013-02-04T14:03:26.427 に答える
0

バッチファイルを作成し、待機するコマンドをそこに挿入してみてください(コマンドタイムアウトまたはバッチファイルでスリープ中のスレッドからの他のソリューションを使用)

そしてProcess yours bat fileから始めます

于 2013-02-04T14:07:39.213 に答える