谁能告诉一下,VC++,PostMessage特点和详细说明

 我来答
春夏秋冬
推荐于2016-07-15 · 知道合伙人教育行家
春夏秋冬
知道合伙人教育行家
采纳数:490 获赞数:1419

向TA提问 私信TA
展开全部
SendMessage函数是阻塞的。PostMessage函数是非阻塞的。
PostMessage:
函数功能:该函数将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回。消息队列里的消息通过调用GetMessage和PeekMessage取得。

函数原型:B00L PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);

参数

hWnd:其窗口程序接收消息的窗口的句柄。可取有特定含义的两个值:

HWND.BROADCAST:消息被寄送到系统的所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口。消息不被寄送到子窗口。

NULL:此函数的操作和调用参数dwThread设置为当前线程的标识符PostThreadMessage函数一样。

Msg:指定被寄送的消息。

wParam:指定附加的消息特定的信息。

IParam:指定附加的消息特定的信息。

返回值:如果函数调用成功,返回非零值:如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。

备注:需要以 HWND_BROADCAST方式通信的应用程序应当用函数 RegisterwindwosMessage来获得应用程序间通信的独特的消息。

如果发送一个低于WM_USER范围的消息给异步消息函数(PostMessage.SendNotifyMessage,SendMesssgeCallback),消息参数不能包含指针。否则,操作将会失败。函数将再接收线程处理消息之前返回,发送者将在内存被使用之前释放
38051697
2012-04-04 · TA获得超过6497个赞
知道大有可为答主
回答量:1万
采纳率:0%
帮助的人:6123万
展开全部
同时销毁2个对话框,在能正常销毁的对话框中向另一个对话框发送消息就可以ON_COMMAND(ID_HELP, CWinApp::OnHelp) 重载下PreTranslateMessage。 写个,sfeCVF
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woseesee
2012-04-04 · 超过35用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:71.7万
展开全部
PostMessage()是将消息放置到消息队列中,该消息当时不处理,当当前函数结束后由系统处理,不等待处理结果;而SendMessage()是发送消息后必须等待消息处理完成后再执行下一步语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式