我希望Windows和OSX应用程序在没有弹出窗口/对话框的情况下崩溃。

时间:2018-04-30 19:57:56

标签: juce

我不知道如何谷歌这个,我试过但却一无所获。

我正在做一个基于JUCE的主机,我需要扫描插件(VST / VST3 / AU),我想制作自己的扫描仪。当前的一个工作,但用户需要多次重启应用程序,这不好,他们讨厌它(我也是如此)。

我的想法是创建一个扫描仪应用程序,该应用程序将与主应用程序隔离并检查它是否已崩溃。但是,我不知道如何检查应用是否已崩溃。我可以ping应用程序并查看它是否停止回复,但是我们不希望显示任何崩溃消息,强制用户单击某些内容以便我的主应用程序继续。

我希望我能清楚,谢谢你提前提供任何帮助。 : - )

最诚挚的问候,WilliamK @ Wusik

1 个答案:

答案 0 :(得分:0)

找到我需要的Windows,效果很好。

#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;
}