在編程過程中,當程序出現(xiàn)錯誤,卻又不知道錯誤的原因時,可以使用
GetLastError函數(shù),它可以幫助你快速找到出錯的原因和語句。
可以直接使用GetLastError函數(shù)得到錯誤代碼,然后查找MSDN找到代碼對應的錯誤原因,也可使用下面函數(shù)直接把錯誤原因顯示出來:
void ShowErrMsg()

...{
TCHAR szBuf[80];
LPVOID lpMsgBuf;
DWORD dw = GetLastError();

FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
dw,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0, NULL );

MessageBox(NULL, lpMsgBuf, "系統(tǒng)錯誤", MB_OK|MB_ICONSTOP);

LocalFree(lpMsgBuf);
}


然后根據(jù)錯誤的原因查找是哪條語句執(zhí)行了相關(guān)操作,傳入的參數(shù)是否正確等,就可以修正錯誤了。