| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 877 人关注过本帖
标题:【求助】windows下的c
只看楼主 加入收藏
醉罪
Rank: 2
等 级:论坛游民
帖 子:140
专家分:24
注 册:2008-7-26
结帖率:100%
收藏
 问题点数:0 回复次数:5 
【求助】windows下的c
这个程序的源码是在书上看到的  但总是运行不了   提示的是第26行 'RegisterClassEX'没有定义  
郁闷   ------ 大家帮我看看到底是怎么回事啊

#include<windows.h>
INT PASCAL WinMain (HINSTANCE hinstance,HINSTANCE hPreinstance,LPSTR lpszCmdParam,INT nCmdShow);
LRESULT CALLBACK WndProc (HWND hMainwnd, UINT message, WPARAM wParam,LPARAM lParam);
INT PASCAL WinMain (HINSTANCE hinstance,HINSTANCE hPreinstance,LPSTR lpszCmdParam,INT nCmdShow)
 {
  HWND hMainwnd;
  MSG message;
  WNDCLASSEX myWC;
  char szAppName[] = "test";
  char szAppTitle[] = "用c语言编写的Windows程序";
  if(!hPreinstance)
  {
   myWC.cbSize=sizeof(WNDCLASSEX);
   myWC.style=CS_HREDRAW|CS_VREDRAW;
   myWC.lpfnWndProc=WndProc;
   myWC.cbClsExtra=0;
   myWC.cbWndExtra=0;
   myWC.hInstance=hinstance;
   myWC.hIcon=LoadIcon(NULL,IDI_APPLICATION);
   myWC.hCursor=LoadCursor(NULL,IDC_ARROW);
   myWC.hIconSm=LoadIcon(NULL,IDI_WINLOGO);
   myWC.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
   myWC.lpszMenuName=NULL;
   myWC.lpszClassName=szAppName;

   RegisterClassEX(&myWC);   //这里出的问题
  }
  hMainwnd=CreateWindowEx(NULL,
                          szAppName, //窗口类名称
                          szAppTitle,//窗口标题
                          WS_OVERLAPPEDWINDOW,//窗口风格
                          CW_USEDEFAULT,
                          CW_USEDEFAULT,
                          CW_USEDEFAULT,
                          CW_USEDEFAULT,
                          NULL,
                          NULL,
                          hinstance,//实例句柄
                          NULL);
  ShowWindow(hMainwnd,SW_SHOWMAXIMIZED);
  UpdateWindow(hMainwnd);
  while(GetMessage(&message,NULL,0,0)) //从消息队列中取消息
   {
       TranslateMessage(&message); //转换消息
       DispatchMessage(&message);//派发消息
      }
      return message.wParam;
 }
 LRESULT CALLBACK WndProc (HWND hMainwnd,UINT message,WPARAM wParam,LPARAM lParam)
  {
      char message1[]="你按下了左键";
      char message2[]="你按下了右键";
      char message3[]="你按下了非系统键";
      switch(message)
      {
       case WM_RBUTTONDOWN:
            MessageBeep(MB_ICONINFORMATION);
            MessageBox(GetFocus(),message2,"消息框",MB_OK|MB_ICONINFORMATION);
            break;
     case WM_LBUTTONDOWN:
            MessageBeep(MB_ICONINFORMATION);
            MessageBox(GetFocus(),message1,"消息框",MB_OK|MB_ICONINFORMATION);
            break;
      
     case WM_KEYDOWN:
            MessageBeep(MB_ICONINFORMATION);
            MessageBox(GetFocus(),message3,"消息框",MB_OK|MB_ICONINFORMATION);
            break;
     case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
     default:
            break;
       }
       return DefWindowProc(hMainwnd,message,wParam,lParam);
      }
搜索更多相关主题的帖子: windows 
2008-09-19 19:03
lingluoz
Rank: 2
来 自:苏州科技学院
等 级:新手上路
威 望:4
帖 子:749
专家分:0
注 册:2008-2-2
收藏
得分:0 
'RegisterClassEX'
应该是'RegisterClassEx'

Murphy's Law :
If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
2008-09-19 19:21
醉罪
Rank: 2
等 级:论坛游民
帖 子:140
专家分:24
注 册:2008-7-26
收藏
得分:0 
RegisterClassEX
晕....就一个小写 浪费我这么多时间 谢谢ls的同学 呵呵
2008-09-19 19:38
lingluoz
Rank: 2
来 自:苏州科技学院
等 级:新手上路
威 望:4
帖 子:749
专家分:0
注 册:2008-2-2
收藏
得分:0 
8客气

Murphy's Law :
If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
2008-09-19 20:17
shade1220
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2008-8-5
收藏
得分:0 
------ 已启动生成: 项目: whiletrue, 配置: Debug Win32 ------
正在编译...
no2.cpp
c:\c++debug\whiletrue\whiletrue\no2.cpp(24) : error C2440: '=' : cannot convert from 'char [5]' to 'LPCWSTR'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
c:\c++debug\whiletrue\whiletrue\no2.cpp(39) : error C2664: 'CreateWindowExW' : cannot convert parameter 2 from 'char [5]' to 'LPCWSTR'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
c:\c++debug\whiletrue\whiletrue\no2.cpp(47) : warning C4244: 'return' : conversion from 'WPARAM' to 'int', possible loss of data
c:\c++debug\whiletrue\whiletrue\no2.cpp(58) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'char [13]' to 'LPCWSTR'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
c:\c++debug\whiletrue\whiletrue\no2.cpp(62) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'char [13]' to 'LPCWSTR'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
c:\c++debug\whiletrue\whiletrue\no2.cpp(67) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'char [17]' to 'LPCWSTR'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
生成日志保存在“file://c:\c++debug\whiletrue\whiletrue\Debug\BuildLog.htm”
whiletrue - 5 个错误,1 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========

我vc2005编译 怎么有5错

踏踏实实学习,认认真真编程
2008-09-19 21:44
永久的守护
Rank: 1
等 级:新手上路
威 望:2
帖 子:425
专家分:6
注 册:2007-6-9
收藏
得分:0 
项目属性
从unicode改为多字节

见了便做做了便放下了了有何不了,慧生于觉觉生于自在生生还是无生。
活则生变,简而至稳。
2008-09-19 23:05
快速回复:【求助】windows下的c
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022382 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved