Sådan lukker du et program, når det går i stykker, uden advarselsskærme osv. .. C ++ Windows

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg laver et Windows-program med JUCE og C ++, og jeg vil bare lukke det, når det går i stykker. I øjeblikket viser det crashdialogboksen, og du skal tætte. Jeg vil ikke vise noget, bare for at lukke det . Er det muligt?


Tak skal du have.

Bedste reference


Fundet, hvad jeg havde brug for, og det virker perfekt.


#include <windows.h>
#include <rtcapi.h>
int exception\_handler(LPEXCEPTION\_POINTERS p)
{
    printf("Exception detected during the unit tests!
");
    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;
}