może ktoś mi powiedzieć, jak spawnować inną aplikację konsoli z aplikacji WinForm, ale (A) nie wyświetla okno konsoli na ekranie i (B) nadal uzyskać standardowe wyjście podanie? Obecnie mam coś jak następuje:C#: Uruchom program konsoli zewnętrznej jako ukryty
Process SomeProgram = new Process();
SomeProgram.StartInfo.FileName = @"c:\foo.exe";
SomeProgram.StartInfo.Arguments = "bar";
SomeProgram.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
SomeProgram.StartInfo.UseShellExecute = false;
SomeProgram.StartInfo.RedirectStandardOutput = true;
SomeProgram.Start();
SomeProgram.WaitForExit();
string SomeProgramOutput = SomeProgram.StandardOutput.ReadToEnd();
Jeżeli ustawić RedirectStandardOutput false, wówczas aplikacja konsoli jest ukryty zgodnie z oczekiwaniami, ale nie mogę dostać standardowego tekstu wyjściowego. Jednak, gdy tylko ustawię wartość RedirectStandardOutput na true, okno przestaje być ukrywane, mimo że mogę uzyskać wynik programu.
Tak, wiem, jak sprawić, aby aplikacja konsoli była ukryta i wiem, jak uzyskać dane wyjściowe programu, ale jak mogę to zrobić?
Wiele TIA
Jaki jest problem z bieżącego rozwiązania? – codymanix
Powyższe rozwiązanie pozwala uzyskać wyjście aplikacji konsoli, ale okno nie jest ukryte. Jeśli usunę kod do uzyskania standardowego wyjścia, okno * IS * jest ukryte. Chcę ukryć okno * AND *, aby uzyskać standardowe wyjście. – JamesPD