!while循环的条件怎么是这样的GetMessage(&Msg,NULL,0,0)什么意思?
答案:3 悬赏:30 手机版
解决时间 2021-03-01 19:01
- 提问者网友:温旧梦泪无声
- 2021-02-28 22:43
!while循环的条件怎么是这样的GetMessage(&Msg,NULL,0,0)什么意思?
最佳答案
- 五星知识达人网友:上分大魔王
- 2021-03-01 00:18
BOOL GetMessage(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax )
参数: lpMsg:指向MSG结构的指针,该结构从线程的消息队列里接收消息信息。 hWnd:取得其消息的窗口的句柄。这是一个有特殊含义的值(NULL)。GetMessage为任何属于调用线程的窗口检索消息,线程消息通过PostThreadMessage寄送给调用线程。 wMsgFilterMin:指定被检索的最小消息值的整数。 wMsgFilterMax:指定被检索的最大消息值的整数。
返回值:如果函数取得WM_QUIT之外的其他消息,返回非零值。如果函数取得WM_QUIT消息,返回值是零。如果出现了错误,返回值是-1。例如,当hWnd是无效的窗口句柄或lpMsg是无效的指针时。若想获得更多的错误信息,请调用GetLastError函数
所以while 循环没错误
有消息的时候 先转换成字符消息 然后再分发出去
参数: lpMsg:指向MSG结构的指针,该结构从线程的消息队列里接收消息信息。 hWnd:取得其消息的窗口的句柄。这是一个有特殊含义的值(NULL)。GetMessage为任何属于调用线程的窗口检索消息,线程消息通过PostThreadMessage寄送给调用线程。 wMsgFilterMin:指定被检索的最小消息值的整数。 wMsgFilterMax:指定被检索的最大消息值的整数。
返回值:如果函数取得WM_QUIT之外的其他消息,返回非零值。如果函数取得WM_QUIT消息,返回值是零。如果出现了错误,返回值是-1。例如,当hWnd是无效的窗口句柄或lpMsg是无效的指针时。若想获得更多的错误信息,请调用GetLastError函数
所以while 循环没错误
有消息的时候 先转换成字符消息 然后再分发出去
全部回答
- 1楼网友:长青诗
- 2021-03-01 01:18
while循环就是先判断()括号里面的表达式是否为真 真的话执行{}中的语句
在你说的这个例子里面 判断的就是GetMessage()函数的返回值是否为真 真的话就执行下面的语句
在你说的这个例子里面 判断的就是GetMessage()函数的返回值是否为真 真的话就执行下面的语句
- 2楼网友:像个废品
- 2021-03-01 00:33
这段程序其实是一个捕获消息并对消息进行相应处理的循环,GetMessage(&Msg,NULL,0,0)负责捕获消息,第1个参数Msg是所捕获的消息,第2个参数是窗口句柄,取为NULL表示捕获所有窗口的消息,后两个参数是消息的最高和最低优先级。GetMessage如果捕获消息,返回非零值,while循环则对该消息进行转换,然后放到消息队列中。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯