VC++ 컴파일러와 Visual Studio를 사용하여 Win32 API를 통해 간단한 창을 열려고합니다. 왜 수업이 실패하는지 알고 싶습니다. 나는 그것을 포인터로 할당하고 참조로 함수에 보내는 것과 함께 포인터없이 할당하려고 시도했다. 그러나 무엇을 시도하든, RegisterClassEx
함수는 true를 반환하는 것을 거부합니다.Win32 API - RegisterClassEx 오류
왜 그런가요?
WNDCLASSEX* wc = new WNDCLASSEX;
HWND hwnd;
MSG msg;
bool done;
wc->style = CS_HREDRAW | CS_VREDRAW;
wc->lpfnWndProc = WndProc;
wc->cbClsExtra = 0;
wc->cbWndExtra = 0;
wc->hInstance = hInstance;
wc->hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc->hCursor = LoadCursor(NULL, IDC_ARROW);
wc->hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wc->lpszClassName = L"someclass";
if (!RegisterClassEx(wc)) {
MessageBox(NULL, L"Class registration has failed!", L"Error!", MB_OK | MB_ICONINFORMATION);
return 0;
}
오류 코드는 WNDCLASSEX의 모든 멤버를 초기화하지 않았기 때문에 아마 ERROR_INVALID_PARAMETER입니다. –