在編程過(guò)程中,當(dāng)程序出現(xiàn)錯(cuò)誤,卻又不知道錯(cuò)誤的原因時(shí),可以使用
GetLastError函數(shù),它可以幫助你快速找到出錯(cuò)的原因和語(yǔ)句。
可以直接使用GetLastError函數(shù)得到錯(cuò)誤代碼,然后查找MSDN找到代碼對(duì)應(yīng)的錯(cuò)誤原因,也可使用下面函數(shù)直接把錯(cuò)誤原因顯示出來(lái):
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)錯(cuò)誤", MB_OK|MB_ICONSTOP);

LocalFree(lpMsgBuf);
}


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