Если ShellExecuteEx()
не возвращает ошибку, то вы ничего не можете сделать, чтобы обнаружить отмену UAC, происходящую вне ShellExecuteEx's
элемента управления.
То, что вы должны сделать, это использовать CreateProcess()
вместо.Это вернет ошибку, если UAC отклонит новый процесс.Не используйте ShellExecuteEx()
для запуска файла .exe, если только вы не используете глагол «runas», чтобы вызвать запрос UAC.