我们在MFC中遇到调试的问题的时候,有时程序员需要获取程序的出错的具体信息--就是获得系统的出错信息
那么我们可以使用下面的代码进行获取:
if( !ret )
{
DWORD err =GetLastError();//获得的具体的出错信息
LPVOIDlpMsgBuf;//空类型指针
::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,err,MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Defaultlanguage
(LPTSTR) &lpMsgBuf, 0,NULL );//获得err系统消息的ID来找到具体的消息的含义,然后首地址返回到空指针lpMsgBuf
OutputDebugString((LPCWSTR)lpMsgBuf);
}