5 steps: 1. Initialzate class 2. Resgister class 3. Create window 4. Receive message from WinProc 5. Translate message and dispatch it Step 1: Initialzate class I like way http://www.winprog.org/tutorial/simple_window.html use: const char g_szClassName[] = "myWindowClass"; Step 2: Registering the Window Class In WinMain() function: WNDCLASSEX wc; wc.cbSize = sizeof(WNDCLASSEX); wc.style = 0; 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)(COLOR_WINDOW+1); wc.lpszMenuName = NULL; wc.lpszClassName = g_szClassName; wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); if(!RegisterClassEx(&wc)) { MessageBox(NULL, "Window Registration Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK); return 0; } Step 3: Creating the