void ShowLastError() { LPVOID lpMsgBuf; FormatMessage ( FORMAT_MESSAGE_ALLOCATE_BUFFER | //返回一个已分配的内存 FORMAT_MESSAGE_FROM_SYSTEM | //系统消息 FORMAT_MESSAGE_IGNORE_INSERTS, //无视插入信息 NULL, GetLastError(), 0, //默认语言 (LPTSTR)&lpMsgBuf, //错误信息指针 0, NULL ); MessageBox(NULL,(LPCTSTR)lpMsgBuf,NULL,MB_OK|MB_ICONINFORMATION); LocalFree(lpMsgBuf);//释放内存 }
GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置。
通常,只有在函数返回一个错误结果,而且已知函数会设置GetLastError变量的前提下,才应访问GetLastError
转:http://www.0xaa55.com/forum.php?mod=viewthread&tid=1426&extra=page%3D1