Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.131.110.169] |
|
Сообщ.
#1
,
|
|
|
Доброе время суток
Прошу не судить меня строго за мой вопрос #include "stdafx.h" BOOL InitWin32App(LPCTSTR szAppTitle,HINSTANCE hInst, DWORD dwWidth, DWORD dwHeight, DWORD dwDepth,BOOL bLockAltF4); ATOM MyRegisterClass(LPCTSTR szAppTitle,HINSTANCE hInstance); LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg,WPARAM wParam,LPARAM lParam); HWND hWnd; int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { BOOL bLockAltF4 = TRUE; InitWin32App("FullScreen",hInstance,640,480,32,bLockAltF4); MSG msg; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } if (bLockAltF4) UnregisterHotKey(hWnd,0); return (int) msg.wParam; } BOOL InitWin32App(LPCTSTR szAppTitle,HINSTANCE hInst, DWORD dwWidth, DWORD dwHeight, DWORD dwDepth,BOOL bLockAltF4) { if (!MyRegisterClass(szAppTitle,hInst)) { ErrMsg("Регистрация класса окна"); return FALSE; } DWORD dwStyle = WS_OVERLAPPEDWINDOW;//WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_POPUP; hWnd = CreateWindow(szAppTitle,szAppTitle,dwStyle,0,0,dwWidth,dwHeight,NULL,NULL,hInst,NULL); if (!hWnd) { ErrMsg("Формирование окна"); return FALSE; } ShowWindow(hWnd, SW_SHOW); UpdateWindow(hWnd); SetForegroundWindow(hWnd); if (bLockAltF4) RegisterHotKey(hWnd,0,MOD_ALT,VK_F4); return TRUE; } ATOM MyRegisterClass(LPCTSTR szAppTitle,HINSTANCE hInstance) { WNDCLASSEX wcex; ZeroMemory(&wcex,sizeof(wcex)); wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(NULL,IDI_APPLICATION); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+2); wcex.lpszMenuName = NULL; wcex.lpszClassName = szAppTitle; return RegisterClassEx(&wcex); } LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg,WPARAM wParam,LPARAM lParam) { switch(uMsg) { case WM_CLOSE: case WM_DESTROY: PostQuitMessage(0); break; default: DefWindowProc(hwnd,uMsg,wParam,lParam); } return 0; } Создал пустой проект, вписал этот код. Функция CreateWindow возвращает нулевой дескриптор. Причем GetLastError(ErrMsg) возвращает "Операция прошла успешно" Подскажите, пожалуйста, что это за напасть? |
Сообщ.
#2
,
|
|
|
default: return DefWindowProc(hwnd,uMsg,wParam,lParam); |
Сообщ.
#3
,
|
|
|
Доброе время суток
Спасибо |