I have tried several things now to hide the window of a new process (in this case it's just notepad.exe for testing), but it just won't work regardless of what I try.
I have read many posts now all saying the same so why isn't it working for me?
I have a console app that is supposed to launch other processes without showing their windows.
I have tried to make my console app launch notepad.exe without a window, but it just won't work.
ProcessStartInfo info = new ProcessStartInfo("path to notepad.exe");
info.RedirectStandardOutput = true;
info.RedirectStandardError = true;
info.CreateNoWindow = true;
info.UseShellExecute = false;
Process proc = Process.Start(info);
I have also tried using various setting for info.WindowStyle and I have tried to configure my console app to be a Windows application, but it doesn't really matter what I do, the child process always opens a window.
Is this not allowed from a console app or what is the problem here - can anyone shed some light on this maybe?
I'm using .NET 4.0 on Windows 7 x64
In my experience, the following works whenever I fire up "cmd.exe".
It doesn't seem to work with "notepad.exe". It fails with other apps too, like "excel.exe" and "winword.exe".
This works, however:
From MSDN:
When I tested it, I didn't have to set
UseShellExecute = false
.