W tej lekcji chciałbym przedstawić jak wygląda typowy program napisany w Windows API. Zanim jednak zacznę chciałbym przypomnieć jedynie, że kurs ten jest przeznaczony dla ludzi znających podstawy C/C++. Jeśli nie masz zielonego pojęcia na temat programowania w C, to ten kurs nie jest dobrym pomysłem dla Ciebie. Radzę najpierw zapoznać się z wyżej wymienionym językiem (zajrzyj do linków), a następnie tu wrócić. A oto nasz pierwszy program pod API Windows:
#include <windows.h> static TCHAR lpszAppName[] = TEXT( "API Windows" ); LRESULT CALLBACK MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_CREATE: break; case WM_DESTROY: PostQuitMessage(0); break; case WM_KEYDOWN: break; default: return (DefWindowProc(hWnd, uMsg, wParam, lParam)); } return(0L); } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; WNDCLASS wndclass; HWND hWnd;
wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = MainWndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hInstance = hInstance; wndclass.hIcon = NULL; wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wndclass.lpszMenuName = NULL; wndclass.lpszClassName = lpszAppName; if(RegisterClass(&wndclass) == 0) return FALSE; hWnd = CreateWindow(lpszAppName, lpszAppName, WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); if(hWnd == NULL) return FALSE; ShowWindow(hWnd, SW_SHOW); UpdateWindow(hWnd); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; }
Jeżeli nie wiesz jak to skompilować to przejdź do
faq
Ten adres e-mail jest chroniony przed spamerami, musisz mieć włączony Javascript by go zobaczyć