Я использую API-интерфейс отчетов об ошибках Windows RegisterApplicationRestart, чтобы зарегистрировать приложение, которое будет автоматически перезагружено WER, когда приложение выйдет из строя или перезагрузится компьютер.
Однако при сбое приложения появляется диалоговое окно WER по умолчанию ( "xyz перестает отвечать" / "Вы хотите отправить дополнительную информацию о проблеме" ), и только после закрытия этого диалогового окна перезагрузится программа.
Есть ли способ подавить это диалоговое окно?
Если я вызову SetErrorMode (SEM_NOGPFAULTERRORBOX), тогда диалоговое окно будет подавлено, как и ожидалось, но сам перезапуск также перестает работать.
Если я глобально отменяю диалоговое окно, изменяя раздел реестра HKEY_CURRENT_USER\Software\ Microsoft\Windows\Windows Error Reporting\DontShowUI
, я получаю тот же результат: диалоговое окно подавляется, но приложение также не перезапускается.
Мне известны обходные пути, подобные второй сторожевой программе, но мне бы очень хотелось как можно проще решить эту проблему с помощью инструментов API отчетов об ошибках Windows.