Проблема вызов exe-файла в консольном приложении
Всем привет,
У меня есть проблема с вызовом Exe-файла в моем консольном приложении
Вот моя часть кода
try { System.Diagnostics.Process process1 = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal; if (System.Environment.OSVersion.Version.Major >= 6) // Windows Vista or higher { startInfo.Verb = "runas"; } else { /*Do nothing*/ } startInfo.FileName = @"D:\glstats\glstats.exe"; startInfo.UseShellExecute = false; process1.StartInfo = startInfo; process1.Start(); process1.WaitForExit(); } catch (Win32Exception ex) { log.WriteLine("Exec Batch Mode Failed. "); log.WriteLine(ex.ToString()); log.WriteLine("Program Quit: " + DateTime.Now.ToString()); log.Close(); return; }
Проблема в том, что процесс "glstats.exe" появляется и закрывается сразу же в считанные секунды.
Есть ли какой-нибудь способ подождать, пока glstats.exe заканчивает пользовательский интерфейс?
Программное обеспечение "glstats.exe" требуется Административное право в Windows 10.
Я застрял с этим уже 2 дня, сегодня я пытаюсь попросить о какой-либо помощи, так как я сделал все рекомендации от Google, но это не сработало.
Я хотел бы оценить ваши комментарии
Спасибо.
Что я уже пробовал:
https://stackoverflow.com/questions/2532769/how-to-start-a-process-as-administrator-mode-in-c-sharp
вот 1-е руководство, которое я прочитал, https://stackoverflow.com/questions/13807429/running-cmd-commands-with-administrator-rights
Graeme_Grant
Вы проверяли process1.ExitCode != 0
чтобы узнать, есть ли проблема? 0 = успех.
Вы вручную пробовали запустить "glstats.exe" как настроено выше, чтобы проверить, что с ним нет проблем?
Thomas Le 0903
Привет Graeme_Grant,
Спасибо за вашу поддержку.
Я проверил process1. ExitCode return "-1".
Пока что я могу запустить его вручную ". glstats.exe " без каких-либо проблем в командной строке.
Вот почему я стараюсь автоматизировать его с помощью консольного приложения.
Я хочу запустить его в определенное время, например, каждые 4 часа.
Graeme_Grant
-1 - это состояние ошибки для этого приложения. Проверьте, что означает это приложение.
PIEBALDconsult
https://www.codeproject.com/Articles/70864/ProcessCommunicator
Thomas Le 0903
Привет PIEBALDconsult,
Спасибо, что дали мне эту статью.
Я пытаюсь понять и попробовать это как еще один способ решить мою проблему.
Спасибо.