热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大牛们好,windows编程RegisterClass()返回为0,感觉好诡异~~~~

搞了一下午,实在是不行了~~~请大牛们给予指点吧~~~~~~~在下刚刚接触WINDOWS编程intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPr
搞了一下午,实在是不行了~~~请大牛们给予指点吧~~~~~~~在下刚刚接触WINDOWS编程
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
{  
   MSG msg;
   WNDCLASSEX wcApp;
   wcApp.lpszClassName="ss";
   wcApp.cbSize=sizeof(wcApp);
   wcApp.CS_VREDRAW;
   wcApp.hInstance=hInstance;
   wcApp.cbWndExtra=0;
   wcApp.cbClsExtra=0;
   wcApp.hCursor =LoadCursor(NULL,IDC_ARROW);
   wcApp.hIcon =LoadIcon(NULL,IDI_APPLICATION);
   wcApp.lpfnWndProc=WndProc;
   wcApp.hCursor=LoadCursor(NULL,IDC_ARROW); //加载鼠标样式
   wcApp.hbrBackground=(HBRUSH)(COLOR_WINDOW); //设置窗口背景色
   wcApp.lpszMenuName=NULL;
   if(!RegisterClassEx(&wcApp))    
   {
     MessageBox(NULL,"注册失败!","Hellowin ",0);
     return 0;
   }
 //设置窗口没有菜单
   HWND wnd=CreateWindowEx(0,"ss","ss",WS_OVERLAPPEDWINDOW,30,30,400,300,NULL,NULL,hInstance,NULL);
//   MessageBox(wnd,GetLastError(),"aa",MB_OK);
   if(!wnd)
   MessageBox(wnd,TEXT("咋就出错了捏"),TEXT("出错了"),MB_OK|MB_ICONQUESTION);
   ShowWindow(wnd,SW_SHOWNORMAL);
   UpdateWindow(wnd);

   while(true)
   {
      PeekMessage(&msg,wnd,0,0,PM_REMOVE);
  TranslateMessage(&msg);
  DispatchMessage(&msg);
   }
   return true;
}

LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
    switch(message)
{
case WM_PAINT:
HDC hDC;
PAINTSTRUCT ps;
BeginPaint(hWnd,&ps);
TextOut(hDC,0,0,"Yeah",strlen("Yeah"));
EndPaint(hWnd,&ps);
break;
default:
return DefWindowProc(hWnd,message,wParam,lParam);

}
return DefWindowProc(hWnd,message,wParam,lParam);
}

4 个解决方案

#1


wcApp.hCursor =LoadCursor(NULL,IDC_ARROW);
  wcApp.hIcon =LoadIcon(NULL,IDI_APPLICATION);
  wcApp.lpfnWndProc=WndProc;
  wcApp.hCursor=LoadCursor(NULL,IDC_ARROW); //加载鼠标样式

两个写成一样不说,还掉了一个结构体成员
wcApp.hIcOnSm= NULL;// 加上 

还有WM_PAINT消失里,hDC的都没有赋值
case WM_PAINT:
HDC hDC;
PAINTSTRUCT ps;
BeginPaint(hWnd,&ps);
TextOut( hDC,0,0,"Yeah",strlen("Yeah"));
EndPaint(hWnd,&ps);
break;
--------------
case WM_PAINT:
{
 PAINTSTRUCT ps;
 HDC hDC = BeginPaint(hWnd,&ps);
 TextOut(hDC,0,0,"Yeah",strlen("Yeah"));
 EndPaint(hWnd,&ps);
}
break;

#2


多谢您了,我刚开始学习,感谢!!
引用 1 楼 visualeleven 的回复:
wcApp.hCursor =LoadCursor(NULL,IDC_ARROW);
  wcApp.hIcon =LoadIcon(NULL,IDI_APPLICATION);
  wcApp.lpfnWndProc=WndProc;
wcApp.hCursor=LoadCursor(NULL,IDC_ARROW); //加载鼠标样式

两个写成一样不说,还掉了一个结构体成员
wcA……

#3


解决了,多谢您了!!

#4


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法

推荐阅读
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • 使用eclipse创建一个Java项目的步骤
    本文介绍了使用eclipse创建一个Java项目的步骤,包括启动eclipse、选择New Project命令、在对话框中输入项目名称等。同时还介绍了Java Settings对话框中的一些选项,以及如何修改Java程序的输出目录。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文讨论了如何使用IF函数从基于有限输入列表的有限输出列表中获取输出,并提出了是否有更快/更有效的执行代码的方法。作者希望了解是否有办法缩短代码,并从自我开发的角度来看是否有更好的方法。提供的代码可以按原样工作,但作者想知道是否有更好的方法来执行这样的任务。 ... [详细]
author-avatar
dsafdasdfddsa_459
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有