3

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

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

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

有没有办法做到这一点?

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

4

1 回答 1

3

只需尝试为“wer.dll”做一个 LoadLibrary。如果它成功了,你就有了 WER。

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;
}
于 2011-08-11T03:48:04.390 回答