gpt4 book ai didi

visual-studio-2010 - SendMessage 和 PostMessage 哪个更好用?

转载 作者:行者123 更新时间:2023-12-05 00:28:41 25 4
gpt4 key购买 nike

在网上搜索这两个函数调用之间的区别,我发现:

这两个 API 调用之间的区别在于它们将控制权返回给调用应用程序的方式。与 发送消息 在消息发送到的窗口完成对发送消息的处理之前,控制权不会返回给调用应用程序,但是 留言 无论天气如何,控制权都会立即返回给调用应用程序,无论发送的消息是否已被处理。

留言:在与线程关联的消息队列中发送一条消息,并在不等待线程处理该消息的情况下返回。

发送消息:调用指定窗口的窗口过程,直到窗口过程处理完消息才返回。

留言 是一个异步函数,其中 发送消息 是一个同步函数。

现在的问题是我的应用程序(需要高性能)哪个功能更好用?

请注意,我在 Visual Studio 2010 中使用 MFC,并且对于此代码:

CWnd *pParentOfClass = CWnd::GetParent();
pParentOfClass ->

我只有这些发送消息的功能:
  • 留言W
  • 发送消息
  • 发送消息W

  • 更多问题:
    你能告诉我 之间的区别吗?发送消息 发送消息W ?

    最佳答案

    您实际上已经通过描述 SendMessage 和 PostMessage 回答了您自己的问题。

    发送消息:发送消息并等待,直到负责消息的过程完成并返回。

    留言:向消息队列发送消息并立即返回。但是您不知道该消息何时实际被处理。因此,如果您应该期望从该处理过的消息中得到答案,那么您很可能也会通过消息得到它。

    这真的取决于使用哪一个,但最终结果几乎相同,只是时间问题。此外,PostMessage 在多线程应用程序中特别有用,它允许您通过线程创建的窗口在线程之间安全地进行通信。

    以 A 或 W 结尾的 PostMessage 或 SendMessage 只是指示如何解释字符串,即分别是单字节或多字节。没有 A 或 W 结尾的是预处理器宏,将委托(delegate)给您的应用程序设置的任何内容。

    关于visual-studio-2010 - SendMessage 和 PostMessage 哪个更好用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18526961/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com