如何获取 hr(HRESULT hr;)的值??
调用那个API可以把hr的值显示出来 也可以
调用那个API可以把hr的值显示出来 也可以
解决方案 »
- 关于ClistCtrl控件鼠标点击触发
- VS2008下不能从“const char *”转换为“LPCTSTR”,用_T()解决不了
- 读入数据问题
- 请问哪里有DataGrid for VC的完全一点的说明?
- 网络入门级的问题,谁能给个例子啊???
- VC++6.0与VC++.NET到底有什么区别啊
- 请问怎样在dll中新建一个类并可输出?
- 200分!在线等待!win32下!请问主窗口如何得到RichEdit框的回车键摁下消息!!UP有分
- randomize()是什么意思?
- 请教有到日本企业面试经验的朋友,拜托给点意见
- 如何用VC查询SQL数据库中的数据
- (VFW)网络获取多人视频数据显示混乱,高分求助
比如:
HRESULT hr = 2;//错误2是:系统找不到指定的文件。
ShowErrorMessage(hr);void CXXXXDlg::ShowErrorMessage(LONG hr)
{
TCHAR szBuf[80] = {0};
LPVOID lpMsgBuf = NULL; FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
hr,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0, NULL );
wsprintf(szBuf, _T("error %d: %s"), hr, lpMsgBuf);
MessageBox(szBuf, _T("Error"), MB_OK);
LocalFree(lpMsgBuf);
}
结果的对话框就会显示:“error 2:系统找不到指定的文件。”
如:
S_OK Operation successful 0x00000000
E_UNEXPECTED Unexpected failure 0x8000FFFF
E_NOTIMPL Not implemented 0x80004001
E_OUTOFMEMORY Failed to allocate necessary memory 0x8007000E
E_INVALIDARG One or more arguments are invalid 0x80070057
E_NOINTERFACE No such interface supported 0x80004002
E_POINTER Invalid pointer 0x80004003
E_HANDLE Invalid handle 0x80070006
E_ABORT Operation aborted 0x80004004
E_FAIL Unspecified failure 0x80004005
E_ACCESSDENIED General access denied error 0x80070005
TRACE("hr = l%",hr);