#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.hCursor = LoadCursor(NULL,IDC_CROSS); wndcls.hIcon = LoadIcon(NULL,IDI_ERROR); wndcls.hInstance = hInstance; wndcls.lpfnWndProc = WinSunProc; wndcls.lpszClassName = TEXT("weixin"); wndcls.lpszMenuName = NULL; wndcls.style = CS_HREDRAW|CS_VREDRAW; RegisterClass(&wndcls); HWND hwnd; hwnd=CreateWindow( TEXT("weixin"), TEXT("Hello"), 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 0; } 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: WCHAR szChar[20]; wsprintf(szChar,TEXT("char is %d"), wParam); MessageBox(hwnd,szChar,TEXT("weixin"),0); break; //case WM_LBUTTONDOWN: // MessageBox(hwnd,"mouse clicked","???",0); // break; case WM_PAINT: HDC hdc; PAINTSTRUCT ps; hdc=BeginPaint(hwnd,&ps); TextOut(hdc,0,0,TEXT("window painted"),strlen("window painted")); EndPaint(hwnd, &ps); break; case WM_CLOSE: if(IDYES==MessageBox(hwnd,TEXT("Exit"),TEXT("weixin"),MB_YESNO)) { DestroyWindow(hwnd); }; break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd,uMsg,wParam,lParam); } return 0; }
论坛上有人发上来代码,说有问题。。。
给丫的跪了。。。