程序连接编译都没有错误和警告,但执行(ctrl+f5)后,什么也没有,cpu达到100%,高手请指教,谢谢!程序清单如下:
#include "stdafx.h"
#include <windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
INT WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevlnst,LPSTR lpszCmdLine,int nCmdShow)
{
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[]="窗口";
char lpsztitle[]="My_Windows";
wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=lpszClassName;
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0);
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return(0);
}

解决方案 »

  1.   

    ShowWindow(hwnd,nCmdShow); 
    UpdateWindow(hwnd); 
    ===================
    在这两句之前没有看到CreateWindow啊,窗口都没有创建当然什么都看不见了
      

  2.   

    呵呵,关键的步骤楼主一个都没有写上,要想显示一个窗口,必须先向系统注册你的这个窗口,也就是注册窗口类,然后再是CREATE窗口,最后再显示窗口
      

  3.   

    谢谢楼上的各位  刚刚看C++  在看黄维通的Visual C++面向对象与可视化程序设计的视频教程,这是里面的例子,我试试看能不能调试出来……呵呵
      

  4.   

    问题已经解决,感谢楼上的几位朋友!!!
    在此,我也将源码贴出来,供其他初学者参考、研究。(创建工程时应选择Win32 Application)!
    源码如下:
    #include "stdafx.h"
    #include<windows.h>   
      LRESULT   CALLBACK   WndProc(HWND,UINT,WPARAM,LPARAM);     //窗口函数说明   
        
      //------------------------   以下初始化窗口类   --------------------------   
      int   WINAPI   WinMain(HINSTANCE   hInstance,HINSTANCE   hPrevlnst,LPSTR   lpszCmdLine,int   nCmdShow)   
      {   
      HWND   hwnd;   
      MSG   Msg;   
      WNDCLASS   wndclass;   
      char   lpszClassName[]="窗口";           //窗口类名   
      char   lpszTitle[]="My_Windows";       //窗口标题名   
      //窗口类的定义   
      wndclass.style=0;                                 //窗口类型为缺省类型   
      wndclass.lpfnWndProc=WndProc;         //定义窗口处理函数   
      wndclass.cbClsExtra=0;                       //窗口类无扩展   
      wndclass.cbWndExtra=0;                       //窗口实例无扩展   
      wndclass.hInstance=hInstance;         //当前实例句柄   
      wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);           //窗口的最小化图标为缺省图标   
      wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);               //窗口采用箭头光标   
      wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口的背景为白色   
      wndclass.lpszMenuName=NULL;             //窗口中无菜单   
      wndclass.lpszClassName=lpszClassName;       //窗口类名为"窗口"   
        
      //-------------------------以下进行窗口类的注册------------------------------------   
      if(!RegisterClass(&wndclass))             //如果注册失败则发出警告   
      {   
      MessageBeep(0);   
      return   FALSE;   
      }   
      hwnd=CreateWindow   
      (   
      lpszClassName,   
      lpszTitle,   
      WS_OVERLAPPEDWINDOW,   
      CW_USEDEFAULT,   
      CW_USEDEFAULT,   
      CW_USEDEFAULT,   
      CW_USEDEFAULT,   
      NULL,   
      NULL,   
      hInstance,   
      NULL   
      );   
      //--------------------------显示窗口---------------------------------   
      ShowWindow(hwnd,nCmdShow);   
      //------------------------------绘制用户区----------------------------------   
      UpdateWindow(hwnd);   
      //-----------------------------消息循环----------------------------------   
      while(GetMessage(&Msg,NULL,0,0))   
      {   
      TranslateMessage(&Msg);   
      DispatchMessage(&Msg);   
      }   
      return   Msg.wParam;         //消息循环结束即程序终止时将信息返回系统   
      }   
      //窗口函数   
      LRESULT   CALLBACK   WndProc(HWND   hwnd,UINT   message,WPARAM   wParam,LPARAM   lParam)   
      {   
      switch(message)   
      {   
      case   WM_DESTROY:   
      PostQuitMessage(0);   
      default:               //缺省时采用系统消息缺省处理函数   
      return   DefWindowProc(hwnd,message,wParam,lParam);   
      };   
      return(0);   
      }
    以上代码在VC++ 6.0测试通过……
    运行后的结果是创建一个只带标题栏的空白窗口!