请问如何知道GetLastError()返回的错误代码对应的错误信息,有什么函数可以获取吗? 请问如何知道GetLastError()返回的错误代码对应的错误信息,有什么函数可以获取吗?例如,我的程序中,GetLastError()返回错误代码:8009200c,我想知道对应的错误信息,该怎么做?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以用visual studio自带的error lookup来查看,也可以用FormatMessage得到错误描述 FormatMessageLPVOID lpMsgBuf;if (!FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language (LPTSTR) &lpMsgBuf, 0, NULL )){ // Handle the error. return;}// Process any inserts in lpMsgBuf.// ...// Display the string.MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );// Free the buffer.LocalFree( lpMsgBuf ); windows核心编程的第一个例子要的话,可以发给你 调试时在在variables敲@err,hr可以知道每条函数执行后的信息 vc自带有一个工具专门用来看错误代码的,叫error lookup在工具栏 我想在程序中显示出错误信息来,我用str.Format("Error number:%x",GetLastError());AfxMessageBox(str);显示的是:Error number:8009200c,用error lookup查到对应的消息:找不到可用于解密的证书和私钥。但是我用xubin_sh(徐彬)给的那段代码去世的时候,却弹出一个Error窗口,显示“操作成功完成”,是他的代码错了,还是别的》 GetLastError只能调用一次,每次指返回最后一次api的情况,如果你期间又调用过GetLastError,那第二次返回的是调用那次GetLastError的情况 在tools里面有一个error lookup工具,输入错误代码,就可以出现错误代码所对应的文本信息了 LPVOID lpMsgBuf;if (!FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, xxxx, <===== 直接把你的错误号填到这里来看看 ========================== MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language (LPTSTR) &lpMsgBuf, 0, NULL )){ // Handle the error. return;}// Process any inserts in lpMsgBuf.// ...// Display the string.MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );// Free the buffer.LocalFree( lpMsgBuf ); 用CDockablePane建的窗格打开停靠后,关闭再打开就变小了。怎么回事? 谁知道那种渐变的界面是怎么做的? 100分求助,高手救命 VC中如何获取计算机的时间(年月日星期时分秒)?急 为什么我提取出来的位图为有偏移的现象.看了全部程序也没找出原因!! 一个程序原来好用,重装系统后一编译出现问题!指教——急呀! :( 为什么win 2k,下的扫描程序好使,而98下不好使 如何插入一个popup类型的menu. 提示"HDC GetDC (HWND hWnd)"是什麽意思 VS2010 MFC exe文件 单独运行错误 如何学好vc++ 请教:在VC++中TRUE 与true 有什么区别?
if (!FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL ))
{
// Handle the error.
return;
}// Process any inserts in lpMsgBuf.
// ...// Display the string.
MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );// Free the buffer.
LocalFree( lpMsgBuf );
要的话,可以发给你
可以知道每条函数执行后的信息
str.Format("Error number:%x",GetLastError());
AfxMessageBox(str);
显示的是:Error number:8009200c,
用error lookup查到对应的消息:找不到可用于解密的证书和私钥。
但是我用xubin_sh(徐彬)给的那段代码去世的时候,
却弹出一个Error窗口,显示“操作成功完成”,是他的代码错了,还是别的》
if (!FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
xxxx, <===== 直接把你的错误号填到这里来看看 ==========================
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL ))
{
// Handle the error.
return;
}// Process any inserts in lpMsgBuf.
// ...// Display the string.
MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );// Free the buffer.
LocalFree( lpMsgBuf );