hur.cn - 华软网

 热门搜索

简单消息处理----PostThreadMessage

  作者:未知    来源:网络    更新时间:2011/4/16
C++">	MSG	msg;

GetInputState();                                   //判断当前线程中是否有措置惩罚鼠标键盘的消息,前往值非零表示检测到输入
PostThreadMessage(GetCurrentThreadId(),NULL,0,0);  //将消息传入当前线程
GetMessage(&msg, NULL, NULL, NULL);                //猎取消息成功后,将删除该消息


代码出自于 Gh0st 3.6】
此处的PostThreadMessage的用法,让我疑惑,PostThreadMessage对当前线程发送的消息类型是NULL,这是何含义?
---华软 网友回答---
意思跟 WM_NULL 一样
---华软网友回复---
应该是激活目标线程,如果目标线程没有消息的话,可能会处于期待状态,以致于当前线程得不到措置惩罚。如果发送一个空消息的,能够让目标线程措置惩罚,我是这样理解,不知对不对
---华软网友回复---
http://bbs.pediy.com/showthread.php?p=489866
HTML">The WM_NULL message performs no operation. An application sends the WM_NULL message if it wants to post a message that the recipient window will ignore.

Remarks

For example, if an application has installed a WH_GETMESSAGE hook and wants to prevent a message from being processed, the GetMsgProc callback function can change the message number to WM_NULL so the recipient will ignore it. 

As another example, an application can check if a window is responding to messages by sending the WM_NULL message with the SendMessageTimeout function.



http://topic.csdn.net/t/20040609/17/3077844.html



---华软网友回复---
PostThreadMessage()还能够用来检测目标线程是否是创建了消息行列了吧,如果没有创建则它会前往0的      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。