#include<windows.h>
#include<stdio.h>
#include <wchar.h>
LRESULT CALLBACK WinSkyProc(          HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
HDC hdc;
switch(uMsg)
{
case WM_PAINT: PAINTSTRUCT ps;
hdc=BeginPaint(hwnd,&ps);
TextOut(hdc,30,30,L"重绘画",lstrlen(L"重绘画"));
EndPaint(hwnd,&ps);
break;
case WM_CHAR: hdc=GetDC(hwnd);
TCHAR TempOut[10];
swprintf(TempOut,TEXT("Char is %c"),wParam);
TextOut(hdc,30,30,TempOut,sizeof(TempOut));
ReleaseDC(hwnd,hdc);
break;
case WM_DESTROY:
DestroyWindow(hwnd);
break;
case WM_QUIT:
PostQuitMessage(0);
break;
case WM_LBUTTONDOWN:
MessageBox(hwnd,TEXT("LButtonDown"),TEXT("Myapplication"),MB_OK);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam); }
return 0L;
}
int WinMain(          HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
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_APPLICATION);
wndcls.hInstance =hInstance;
wndcls.lpfnWndProc =WinSkyProc;
wndcls.lpszClassName=TEXT("Sky");
wndcls.lpszMenuName =NULL;
wndcls.style =CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndcls);
HWND hwnd;
hwnd=CreateWindow(TEXT("Sky"),TEXT("Sky First Window"),WS_OVERLAPPEDWINDOW,30,30,100,200,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,SW_NORMAL);
UpdateWindow(hwnd);    MSG msg;
TCHAR temp[100]={0};
while(GetMessage(&msg,NULL,0,0))
{ TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam ;}

解决方案 »

  1.   

    这两句注释掉试试:
               case  WM_DESTROY:  
                           DestroyWindow(hwnd);  
                           break;  
               case  WM_QUIT:  
                           PostQuitMessage(0);  
                           break;
      

  2.   

    这两句注释掉试试:
               case  WM_DESTROY:  
                           DestroyWindow(hwnd);  
                           break;  
               case  WM_QUIT:  
                           PostQuitMessage(0);  
                           break;====================注释后还是不行
      

  3.   

    case WM_CLOSE:
      PostQuitMessage(0);
      

  4.   

    DestroyWindow应该是销毁窗口
    窗口被销毁并不代表程序被销毁了啊