一个关于Windows SDK 编程中 窗口创建的问题
运行都没有问题,就是我在关闭窗口的时候,我点击是后,窗口是销毁了,但是在进程里还有! 我在消息处理关于 WM_CLOSE 和WM_DESTROY的时候都感觉没有问题,所以有点不明白到底是怎么回事请! 请高手指点!#include<stdio.h>#include<windows.h>LRESULT CALLBACK WinSunProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ WNDCLASS wincls; wincls.cbClsExtra=0; wincls.cbWndExtra=0; wincls.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH) ; wincls.hCursor=LoadCursor(hInstance,IDC_CROSS); wincls.hIcon=LoadIcon(hInstance,IDI_APPLICATION); wincls.hInstance=hInstance; wincls.lpfnWndProc=WinSunProc; wincls.lpszClassName="windows"; wincls.lpszMenuName=NULL; wincls.style=CS_VREDRAW|CS_HREDRAW;RegisterClass(&wincls); HWND hwnd; hwnd=CreateWindow("windows","´°¿Ú",WS_OVERLAPPEDWINDOW ,100,100,600,500, NULL,NULL,hInstance,NULL); ShowWindow(hwnd,SW_SHOWNORMAL); UpdateWindow(hwnd); MSG msg; while(GetMessage(&msg,hwnd,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); }; return 0;}LRESULT CALLBACK WinSunProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam){ switch(uMsg) { case WM_CHAR: char str[30]; sprintf(str,"you press down the %c ",wParam); MessageBox(hwnd,str,"°´¼ü",MB_OK); break; case WM_PAINT: HDC hdc; PAINTSTRUCT ps; hdc=BeginPaint(hwnd,&ps); TextOut(hdc,0,0,"ÔÚÖØ»­",strlen("ÔÚÖØ»­")); EndPaint(hwnd,&ps); break; case WM_LBUTTONDOWN: HDC hDC; hDC=GetDC(hwnd); TextOut(hDC,0,50,"I love this game!",strlen("I love this game!")); MessageBox(hwnd,"mouse click","mouse",MB_OK); ReleaseDC(hwnd,hDC); break; case WM_CLOSE: if(IDYES==MessageBox(hwnd,"ÄãÕæµÄÒªÍ˳ö","Ìáʾ",MB_YESNO)) { DestroyWindow(hwnd); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd,uMsg,wParam,lParam); }}