タグ付けされた質問 「processstartinfo」

22
「WaitForExit」にぶら下がっているProcessStartInfo?どうして?
私は次のコードを持っています: info = new System.Diagnostics.ProcessStartInfo("TheProgram.exe", String.Join(" ", args)); info.CreateNoWindow = true; info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; info.RedirectStandardOutput = true; info.UseShellExecute = false; System.Diagnostics.Process p = System.Diagnostics.Process.Start(info); p.WaitForExit(); Console.WriteLine(p.StandardOutput.ReadToEnd()); //need the StandardOutput contents 私が開始しているプロセスからの出力が約7MBであることを知っています。Windowsコンソールで実行すると問題なく動作します。残念ながら、これはプログラム上、WaitForExitで無期限にハングします。これは、より小さな出力(3KBなど)の場合、コードがハングしないことにも注意してください。 ProcessStartInfoの内部StandardOutputが7MBをバッファリングできない可能性はありますか?もしそうなら、代わりに私は何をすべきですか?そうでない場合、私は何を間違っていますか?

12
C#でバッチファイルを実行する
C#でバッチファイルを実行しようとしていますが、うまくいきません。 インターネットで複数の例を見つけましたが、うまくいきません。 public void ExecuteCommand(string command) { int ExitCode; ProcessStartInfo ProcessInfo; Process Process; ProcessInfo = new ProcessStartInfo("cmd.exe", "/c " + command); ProcessInfo.CreateNoWindow = true; ProcessInfo.UseShellExecute = false; Process = Process.Start(ProcessInfo); Process.WaitForExit(); ExitCode = Process.ExitCode; Process.Close(); MessageBox.Show("ExitCode: " + ExitCode.ToString(), "ExecuteCommand"); } コマンド文字列には、(に保存されているsystem32)バッチファイルの名前と、操作する必要のあるいくつかのファイルが含まれています。(例:)txtmanipulator file1.txt file2.txt file3.txt。バッチファイルを手動で実行すると、正しく動作します。 コードを実行すると、 **ExitCode: 1** (Catch all …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.