#include <windows.h> #include <stdio.h> LRESULT CALLBACK WinSunProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // pointer to command line int nCmdShow // show state of window ) { WNDCLASS wndcls; //设计一个窗口类; wndcls.cbClsExtra = 0; wndcls.cbWndExtra = 0; wndcls.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); wndcls.hIcon = LoadIcon(NULL,IDI_ERROR); wndcls.hCursor = LoadCursor(NULL,IDC_CROSS); wndcls.hInstance = hInstance; wndcls.lpfnWndProc = WinSunProc; wndcls.lpszClassName = "APPLICATION"; wndcls.lpszMenuName =NULL; wndcls.style = CS_HREDRAW | CS_VREDRAW; ////////////////////////////////////////////////////////////////////////// RegisterClass(&wndcls); //注册窗口; ////////////////////////////////////////////////////////////////////////// HWND hwnd; hwnd = CreateWindow("APPLICATION","http://http://www.baidu.com", //创建一个窗口; WS_OVERLAPPEDWINDOW, 0, 0, 600,400,NULL, NULL,hInstance, NULL); ShowWindow(hwnd, SW_SHOWNORMAL); UpdateWindow(hwnd); ////////////////////////////////////////////////////////////////////////// MSG msg; while(GetMessage(&msg, NULL, 0,0)) //消息循环 { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } LRESULT CALLBACK WinSunProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ) { switch(uMsg) { case WM_CHAR: char szChar[20]; sprintf(szChar, "char code is %d ",wParam); MessageBox(hwnd, szChar, "char", 0); break; case WM_LBUTTONDOWN: MessageBox(hwnd, "mouse clicked", "message", 0); HDC hdc; hdc = GetDC(hwnd); TextOut(hdc, 0, 50, "博客园", strlen("博客园")); break; case WM_PAINT: HDC hDC; PAINTSTRUCT ps; hDC = BeginPaint(hwnd, &ps); TextOut(hDC, 0, 0, "http://www.baidu.com", strlen("http://www.baidu.com")); EndPaint(hwnd, &ps); break; case WM_CLOSE: if(IDYES == MessageBox(hwnd, "真的要退出吗?", "message", MB_YESNO)) { DestroyWindow(hwnd); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd, uMsg, wParam, lParam); } return 0; }