CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

求助,不明原因的问题

楼主capoatguitar(菠萝蜜汁红塔山)2005-01-02 01:18:23 在 VC/MFC / 基础类 提问

我做了一个WIN32程序(游戏),是纯C++、WINAPI和OPENGL的,没有用MFC。  
  程序一运行就关闭不了了,点击窗口右上的‘X’没用,但右键点任务栏,在选“关闭”则可以。  
  程序里处理WM_CLOSE消息时是调用POSTQUITMESSAGE(0)的,但这句话根本不起作用,用断点查看,POSTQUITMESSAGE(0)这句话也执行,就是没有反映,这是怎么回事?各位遇到过这样问题的请帮帮我,分不够在加,不胜感激,谢。 问题点数:50、回复次数:14Top

1 楼lpy2003(寒假应该干什么呢)回复于 2005-01-02 02:13:58 得分 10

可能是postquitmessage(0)优先级太低  
  你直接exit(-1)算了Top

2 楼sunyanbiao_12(废人)回复于 2005-01-02 06:01:08 得分 8

你的程序收不到消息,因为没有消息处理的哪个代码.Top

3 楼liudaqin(&& || ! 路漫漫其修远兮)回复于 2005-01-02 09:11:03 得分 1

学习Top

4 楼capoatguitar(菠萝蜜汁红塔山)回复于 2005-01-02 13:44:42 得分 0

鬼谷子说的我不太明白,POSTQUITMESSAGE(0)这句话是执行了,怎么会收不到消息呢?  
  点‘X’关闭时也不是每次都关闭不了,偶尔也能关闭,关闭不了占90%,到底怎么回事?Top

5 楼fanqing(火影忍者+28%(准备学习进程/线程))回复于 2005-01-02 18:06:23 得分 1

学习  
   
  Top

6 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-01-02 18:34:59 得分 10

是不是有大量数据处理?  
  消息响应不过来Top

7 楼sharkhuang(走吧走吧!人总会慢慢长大~)回复于 2005-01-02 19:09:29 得分 1

markTop

8 楼Goldbach(hufuping)回复于 2005-01-02 20:38:43 得分 1

learingTop

9 楼l_b_q()回复于 2005-01-02 22:22:57 得分 4

主线程太忙,界面响应线程优先级低Top

10 楼kingofvc(提薪像做贼 )回复于 2005-01-02 22:39:21 得分 4

WM_DESTROY的时候PostQuitMessageTop

11 楼capoatguitar(菠萝蜜汁红塔山)回复于 2005-01-03 13:28:58 得分 0

main   函数里循环是:  
  while(1)  
  {  
          if   (PeekMessage(&msg,   hWnd,   0,   0,   PM_REMOVE))    
                  {    
        if(msg.message   ==   WM_QUIT)  
                break;  
                          TranslateMessage(&msg);  
                          DispatchMessage(&msg);  
                  }  
  }  
  消息处理函数WinProc有:  
  case   WM_CLOSE:  
                  PostQuitMessage(0);  
                  break;    
  就是这样的,也真有可能是主线程忙的没时间处理这些了,那应该怎样改才可以呢?  
  Top

12 楼capoatguitar(菠萝蜜汁红塔山)回复于 2005-01-03 22:09:53 得分 0

自己顶Top

13 楼Anikan(皮皮鱼)回复于 2005-01-04 10:56:32 得分 10

主线程的优先级应该是要最高的。以便及时相应用户的命令。从程序上看没有问题的。Top

14 楼capoatguitar(菠萝蜜汁红塔山)回复于 2005-01-04 14:16:42 得分 0

自己解决了.    
  把PeekMessage(&msg,   hWnd,   0,   0,   PM_REMOVE)换成PeekMessage(&msg,NULL,   0,   0,   PM_REMOVE)  
  不知道会不会有别的隐患!Top

相关问题

  • 不明原因的“病"
  • ??? 程序不明原因退出
  • 看不明白什么原因
  • 使用WSAEventSelect时出错,不明原因
  • 真是不明白是什么原因???
  • 应用程序不明原因得无法连接数据库
  • wsad测试服务器不明原因死机
  • 不明白原因的问题???希望各位帮忙!!!
  • 这是什么原因。搞不明白了。数据库update的问题????
  • 一个关于winsock的程序,出错的原因我很不明白??????

关键词

  • 消息
  • pm
  • postquitmessage
  • 关闭
  • 程序
  • peekmessage
  • 这句话
  • msg
  • 问题
  • 处理

得分解答快速导航

  • 帖主:capoatguitar
  • lpy2003
  • sunyanbiao_12
  • liudaqin
  • fanqing
  • oyljerry
  • sharkhuang
  • Goldbach
  • l_b_q
  • kingofvc
  • Anikan

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo