Как просто закрыть программу, когда она падает, без каких-либо предупреждений и т. Д. C ++ Windows - PullRequest
0 голосов
/ 04 мая 2018

Я делаю программу для Windows с JUCE и C ++, и я хочу, чтобы она просто закрывалась при сбое. Прямо сейчас он показывает диалог сбоя, и вы должны ударить близко Я не хочу ничего показывать, просто чтобы закрыть это. Возможно ли это?

Спасибо.

1 Ответ

0 голосов
/ 04 мая 2018

Нашел то, что мне было нужно, и работает отлично.

#include <windows.h>
#include <rtcapi.h>
int exception_handler(LPEXCEPTION_POINTERS p)
{
    printf("Exception detected during the unit tests!\n");
    exit(1);
}
int runtime_check_handler(int errorType, const char *filename, int linenumber, const char *moduleName, const char *format, ...)
{
    printf("Error type %d at %s line %d in %s", errorType, filename, linenumber, moduleName);
    exit(1);
}

int main()
{
    DWORD dwMode = SetErrorMode(SEM_NOGPFAULTERRORBOX);
    SetErrorMode(dwMode | SEM_NOGPFAULTERRORBOX);
    SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)&exception_handler); 
    _RTC_SetErrorFunc(&runtime_check_handler);

    // Run your tests here

    return 0;
}
...