-
Задача - нужно запустить из моего exe1, exe2 при помощи CreateProcess, exe2 должен отработать и вернуть exitcode. Exe1 ожидает окончания exe2 при помощи WaitForSingleObject.
Windows 10 x64, обе программы x32.
Проблема в том, что возвращаемый код всегда = 0.
из Exe2 пробовал: 1. указывать код в System.ExitCode 2. Halt(exitCode) 3. ExitProcess (ExitCode)
В exe1 получаю его при помощи GetExitCodeProcess , сразу как отработает WaitForSingleObject.
Замечу что exe1 запускает exe2 (оба под админом), поэтому по идее у exe1, который получает этот exitCode, есть ALL_ACCESS (по идее) на дескриптор второго процесса.
Сделал пока через файл, но может кто-то знает в чем проблема?
Спасибо
-
ExitCode может устанавливаться после того, как ты его установил. Была уже похожая проблема, поищи в юнитах, которые ты используешь.
-
> Сделал пока через файл, но может кто-то знает в чем проблема?
Всегда делал через файл, сообщение или событие - понять, как и почему не отрабатывается ExitCode, ровно как чётко отследить процесс сложнее.
-
Сталкивался с такой же проблемой. Так и не разобрался в чем было дело :(
Так что буду с интересом следить за веткой.
-
кто виноват : (exe1 / exe2) cmd>
exe2.exe
echo %errorlevel%
|