我想确定我的程序当前运行的操作系统是否支持Windows错误报告。我想使用某种API来做到这一点。
Windows错误报告是从Vista开始引入的,但我无法检查 if(osType == Vista)
因为,我的代码运行在WES 7和WES 2009(Windows Embedded Standard)上。
有没有办法做到这一点?
非常感谢您的帮助和建议:)
答案 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;
}