GetMessage() 루프가 끝난 후 어떤 이유로 "잘못된 창 핸들"오류가 발생하지만 HWND를 전달하지 않아도이 오류가 발생합니다. :이 응용 프로그램보다 더 많은에서 사용이 오류가 발생하지 않는 한 그것은 ShowError 잘못 아무것도 아니다GetMessage() 루프 이후에 잘못된 창 핸들
MSG Message;
while(GetMessage(&Message, NULL, 0, 0) != 0)
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
ShowError();
) 때
void ShowError()
{
DWORD ErrorCode = GetLastError();
if(ErrorCode == ERROR_SUCCESS) return;
LPTSTR lpszBuffer = NULL;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, ErrorCode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpszBuffer, 0, NULL);
MessageBox(NULL, lpszBuffer, NULL, MB_OK | MB_ICONERROR);
LocalFree(lpszBuffer);
}