【问题标题】:Who sent/posted the WM_MOUSEMOVE?谁发送/发布了 WM_MOUSEMOVE?
【发布时间】:2014-01-14 09:07:03
【问题描述】:

当使用 Win32 API 消息循环(或任何更高级别的抽象,例如 System.Windows.Forms.IMessageFilter)获取消息时,我如何找出是谁/哪个控件/哪个组件/哪段代码发布了 @ 987654322@?

这在 Win32 的上下文中是否有意义?类似于 .NET 事件中的 object sender

我查看了WM_MOUSEMOVE 的文档,但找不到任何东西。从那以后我已经有十年没有广泛使用 Win32 API了。

【问题讨论】:

    标签: winforms winapi windows-messages message-loop


    【解决方案1】:

    所有窗口消息都发送到特定的 HWND。那是接收器。窗口消息的发送者是操作系统,因为当它决定应该向窗口发送消息时,它会为特定窗口生成窗口消息。

    【讨论】:

    • 我想区分“用户生成的鼠标移动”和我自己的应用程序生成或发送的那些。我该怎么做?
    • @WaterCoolrv2 问这个问题有点晚了。你已经问过一个完全不同的人。如果您想知道如何区分这些类型的消息,您需要提出具体问题。
    • 据我所知,你不能。
    • @ThorstenDittmar 谢谢。
    • @WaterCoolerv2 您可以发送自己的用户消息 (WM_USER + x) 并像处理它鼠标移动一样,而不是向自己发送 WM_MOUSEMOVE!跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 2010-12-10
    • 2011-12-31
    相关资源
    最近更新 更多