【发布时间】:2011-05-31 15:43:52
【问题描述】:
CString ErrorMessageFromErrorCode(DWORD errorCode)
{
无效* pMsgBuf = NULL;
::格式信息(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
空值,
错误代码,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &pMsgBuf,
0,
空值);
CString 结果;
如果 ( pMsgBuf )
{
结果 = (LPTSTR) pMsgBuf;
LocalFree(pMsgBuf);
}
如果(结果。长度()== 0)
结果 = _T("未知错误");
返回结果;
}
当使用参数 2 调用时,该函数返回“系统找不到指定的文件。”。当使用 0xC1 调用时,它返回“未知错误”。 Microsoft 错误查找实用程序显示 0xC1:“%1 不是有效的 Win32 应用程序。”。因此,当错误消息包含占位符时,我的功能不起作用。 有没有通用的方法来获得与错误查找相同的结果,而无需了解错误代码?
【问题讨论】:
-
参数2?你的意思是 FORMAT_MESSAGE_FROM_SYSTEM?看起来它正在运行,并且您曾尝试打开或删除以前不存在的文件。