Windows核心编程学习笔记(1)--显示GetLastError错误的详细信息

来源:互联网 发布:mac显示隐藏文件快捷键 编辑:程序博客网 时间:2024/05/18 21:41

Drecik学习经验分享

转载请注明出处:http://blog.csdn.net/drecik__/article/details/8078785

 

使用函数FormatMessage函数来查找错误信息,具体操作查看代码

BOOL ShowErrorInfo( DWORD dwError ){HLOCAL hLocal = NULL;// 使用系统默认语言返回错误信息;DWORD dwSystemLocale = MAKELANGID( LANG_NEUTRAL, SUBLANG_NEUTRAL );// 在系统默认位置寻找错误信息;BOOL bOk = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM |// 希望返回与系统定义的错误代码对应的字符串;FORMAT_MESSAGE_IGNORE_INSERTS |// 允许含有%占位符的信息;FORMAT_MESSAGE_ALLOCATE_BUFFER,// 分配足够到的内存;NULL, dwError, dwSystemLocale, (PTSTR)&hLocal, 0, NULL );// 未找到在网络错误信息中查找;if ( !bOk ){HMODULE hNetDll = LoadLibraryEx( TEXT("netmsg.dll"), NULL,DONT_RESOLVE_DLL_REFERENCES );if ( hNetDll ){bOk = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS |FORMAT_MESSAGE_ALLOCATE_BUFFER,hNetDll, dwError, dwSystemLocale, (PTSTR)&hLocal, 0, NULL );}FreeLibrary(hNetDll);}if ( bOk && hLocal ){// 显示错误信息;MessageBox( NULL, (PCTSTR)LocalLock(hLocal), TEXT("Error"), 0 );LocalFree( hLocal );return TRUE;}return FALSE;}

原创粉丝点击