Можно ли передать дескриптор нулевого окна в ShellExecute?
У меня есть консольное приложение Delphi, которое в конце должно запускать одно из двух приложений.
У меня возникли проблемы с запуском ShellExecute без ошибок, и я думаю, что проблема связана с отсутствием дескриптора для приложения консоли.
Линия, которая вызывает у меня горе:
ShellExecute(0, 'open', 'someapplication.exe', nil, nil, SW_SHOWNORMAL);
Я думаю, что 0 в дескрипторе - проблема, поскольку он компилирует ОК и запускается в отладчике в порядке, но если я пытаюсь запустить исполняемый файл, я получаю необработанную ошибку (консольное приложение считает, что оно закончилось с радостью).
Ответы
Ответ 1
Передача 0 для параметра hwnd
прекрасна. В документации описывается параметр таким образом:
Дескриптор родительского окна, используемого для отображения пользовательского интерфейса или сообщений об ошибках. Это значение может быть NULL, если операция не связана с окном.
Ваша ошибка связана с чем-то другим.