У меня есть пара старых программ для Windows, которые нам еще нужно использовать.Обе программы предназначены для запуска из командных файлов с параметрами командной строки, поэтому использование Process для запуска и мониторинга их работает нормально.
Обе программы отображают окна выполнения после запуска, и я хотел бы скрыть эти окна, но они не кажутсячтобы ответить на настройку процесса, отображающую окно управления.
ProcessStartInfo info = new ProcessStartInfo() {
FileName = appName,
Arguments = arguments,
RedirectStandardError = true,
RedirectStandardOutput = true,
WorkingDirectory = workingDirectory,
UseShellExecute = false,
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden
};
StringBuilder errorData = new StringBuilder(OUTPUT_SIZE);
StringBuilder outputData = new StringBuilder(OUTPUT_SIZE);
using (Process process = new Process { StartInfo = info }) {
process.ErrorDataReceived += new DataReceivedEventHandler((sender, e) => ErrorDataReceived(sender, e, errorData));
process.OutputDataReceived += new DataReceivedEventHandler((sender, e) => OutputDataReceived(sender, e, outputData));
if (exited != null) {
process.EnableRaisingEvents = true;
process.Exited += exited;
}
process.Start();
process.BeginErrorReadLine();
process.BeginOutputReadLine();
}
Есть ли другой способ заставить окно скрыться или мне просто нужноиспользовать их такими, какие они есть?Я выполнил кучу поисков, но все ответы, которые я нашел, просто использовали некоторые варианты кода выше.