【发布时间】:2013-09-02 19:58:29
【问题描述】:
在网上搜索这两个函数调用之间的区别,我发现:
这两个 API 调用之间的区别在于它们将控制权返回给调用应用程序的方式。使用 SendMessage 控件不会返回给调用应用程序,直到消息发送到的窗口完成处理发送的消息,但是使用 PostMessage 控件将返回给调用应用程序立即,无论天气如何,发送的消息是否已被处理。
postMessage:在与线程关联的消息队列中发送一条消息,并在不等待线程处理该消息的情况下返回。
SendMessage:调用指定窗口的窗口过程,直到窗口过程处理完消息才返回。
PostMessage 是一个异步函数,而 SendMessage 是一个同步函数。
现在的问题是我的应用程序(需要高性能)使用哪个功能更好?
请注意,我在 Visual Studio 2010 中使用 MFC,并且对于此代码:
CWnd *pParentOfClass = CWnd::GetParent();
pParentOfClass ->
我只有这些发送消息的功能:
PostMessageW
发送消息
SendMessageW
更多问题:
你能告诉我SendMessage和SendMessageW的区别吗?
【问题讨论】:
-
这取决于你想发送什么消息——你能举一些例子吗?
-
好吧,它需要更多解释。我很快就会编辑我的问题。请参阅编辑部分。谢谢@EdwardClements
-
请不要在同一个帖子中问两个问题。
-
我赞成这个问题,因为它包含我想要的关于这两个 API 的所有信息
标签: visual-studio-2010 performance mfc message-queue sendmessage