| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 728 人关注过本帖
标题:学习笔记:GetMessage的问题
只看楼主 加入收藏
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
学习笔记:GetMessage的问题
while(GetMessage(
             &msg, /*lpMsg: Pointer to an MSG structure that receives message information from the thread's message queue*/
             NULL, /*        ??            */
             0,      /*wMsgFilterMin:此两个同时为0,将同时接收键盘和鼠标的消息*/
             0      /*wMsgFilterMax: 此两个同时为0,将同时接收键盘和鼠标的消息*/
         )
      )
请问我上面的注释对吗?那个NULL是什么意思,没看明白

[[it] 本帖最后由 寻乐的狼 于 2009-8-5 18:33 编辑 [/it]]
搜索更多相关主题的帖子: etMessage 
2009-08-05 18:31
CrystalFan
Rank: 8Rank: 8
来 自:江苏南京
等 级:蝙蝠侠
帖 子:187
专家分:802
注 册:2009-7-30
收藏
得分:7 
以下来自百度百科
函数声明:
 
  BOOL GetMessage(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilteMax
  参数:
  lpMsg:指向MSG结构的指针,该结构从线程的消息队列里接收消息信息。
  hWnd:取得其消息的窗口的句柄。这是一个有特殊含义的值(NULL)。GetMessage为任何属于调用线程的窗口检索消息,线程消息通过PostThreadMessage寄送给调用线程。
  wMsgFilterMin:指定被检索的最小消息值的整数。
  wMsgFilterMax:指定被检索的最大消息值的整数。
  返回值:如果函数取得WM_QUIT之外的其他消息,返回非零值。如果函数取得WM_QUIT消息,返回值是零。如果出现了错误,返回值是_1。例如,当hWnd是无效的窗口句柄或lpMsg是无效的指针时。若想获得更多的错误信息,请调用GetLastError函数。
    常数 WM_KEYFIRST和WM_KEYAST可作为过滤值取得与键盘输入相关的所有消息:常数WM_MOUSEFIRST和WM_MOUSELST可用来接收所有的鼠标消息。如果wMsgFilterMin和wMsgFilterMax都为零,GetMessage返回所有可得的消息(即,无范围过滤)

[[it] 本帖最后由 CrystalFan 于 2009-8-5 19:26 编辑 [/it]]
2009-08-05 19:24
sadan20111
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2009-8-1
收藏
得分:7 
回复 楼主 寻乐的狼

NULL表示你愿意接受任何一个窗口的消息,如果你设置了具体的句柄,如果关了窗口,那个句柄就是无效的,那么GetMessage会返回-1,在C++中,非零就是为真,然后会造成循环条件为真,然后就会造成死循环...造成错误了...
2009-08-05 20:48
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
收藏
得分:0 
请问没有回答我解释的是对还是错?为什么?
对于那个NULL,我是否可以理解为可以在打开一个窗口的时候能够通过键盘来执行控制另一个窗口的命令?

用C打破禁锢的世界
2009-08-06 18:53
快速回复:学习笔记:GetMessage的问题
数据加载中...
 
   



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

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