Привет я пытаюсь запустить мой установщик, используя ShellExecuteEx из приложения C ++. Я могу запустить мой установщик. Если я в любое время нажму кнопку «Отмена» на моем установщике NSIS, как мне узнать это из приложения C ++ и установка печати не удалась.
Я пытался так
if((UINT)ShExecInfo.hInstApp <= SE_ERR_DDETIMEOUT )
{
fprintf(fp, "Failed to start the installer \n");
exit(-1);
}
Но не повезло, я пытался напечатать, что в ShExecInfo.hInstApp
и результат номер 42.
Есть идеи?
hInstApp
содержит информацию о том, какая ошибка (если есть) возникла при запуске. Это не имеет ничего общего с закрытием приложения.
Вы хотите посмотреть на код завершения процесса установки с GetExitCodeProcess
, который хранится в ShExecInfo.hProcess
если вы установите SEE_MASK_NOCLOSEPROCESS
флаг в ShExecInfo.fMask
,
Вам нужно будет проверить в документации NSIS код возврата, возвращаемый, когда пользователь нажимает кнопку отмены.
Других решений пока нет …