如何以编程方式确定我们当前运行的操作系统是否支持Windows错误报告?

时间:2011-08-10 12:39:38

标签: c windows winapi windows-error-reporting

我想确定我的程序当前运行的操作系统是否支持Windows错误报告。我想使用某种API来做到这一点。

Windows错误报告是从Vista开始引入的,但我无法检查    if(osType == Vista)

因为,我的代码运行在WES 7和WES 2009(Windows Embedded Standard)上。

有没有办法做到这一点?

非常感谢您的帮助和建议:)

1 个答案:

答案 0 :(得分:3)

尝试为“wer.dll”执行LoadLibrary。如果成功,你就有了。

BOOL IsWindowsErrorReportingAvailable()
{
    BOOL fRet = FALSE;

    HMODULE hMod = LoadLibrary("wer.dll");

    fRet = (hMod != NULL);

    if (fRet)
    {
        // make sure the APIs from WER we want to use are available
        fRet = (NULL != GetProcAddress(hMod, L"ReportFault"));
    }

    CloseHandle(hMod);

    return fRet;
}