У меня возникли проблемы, которые сводятся к желанию CreateProcess
были StartProcess
.Проблема в том, что существуют обстоятельства, при которых CreateProcess
возвращает значение true, когда создает процесс, но система не может запустить процесс.Например, CreateProcess
будет успешным даже в том случае, если невозможно разрешить импорт одного из запусков.
Существует, вероятно, дюжина предложений, которые можно сделать в зависимости от того, чего именно я надеюсь достичь, запустив этот процесс.Тем не менее, я боюсь, что ни одно из этих предложений, вероятно, не будет полезным, потому что я не надеюсь достичь каких-либо конкретных результатов, запустив этот процесс.
Одним из примеров может быть вызов WaitForSingleObject
противдескриптор процесса и затем GetExitCodeProcess
.Но я не могу дождаться завершения процесса, потому что он может остаться навсегда.
Другим примером предложения может быть вызов WaitForInputIdle
, который будет работать хорошо, если я надеюсь связаться с лаунчи посредствомокно, которое я мог разумно ожидать, что лаунчи создаст.Но я не надеюсь на это и не могу этого ожидать.Насколько я знаю, launchchee является консольным процессом и / или никогда не будет иметь очереди сообщений.Кроме того, я не могу позволить себе ждать (с эвристическим намерением), чтобы выяснить это.
На самом деле, я ничего не могу предположить о лаунчи.
Чтобы получить лучшую идеюо том, как я думаю здесь, давайте посмотрим на оборотную сторону вопроса.Если процесс не запускается, я хочу код ошибки, который говорит мне, как я мог бы посоветовать пользователю.Если импорт завершен, основной поток обнаруживает, что собирается перейти к коду запуска CRT (или эквивалентному), а код ошибки, который я получаю, - ERROR_SUCCESS
, отлично!Но я на самом деле не заинтересован в лаунчи и просто хочу обеспечить хороший пользовательский опыт в лаунчере.
О, и еще одна вещь: я хочу, чтобы это было просто.Я не хочу писать отладчик.: -)
Идеи?