【问题标题】:Closing the window delays if a mouse hook is set如果设置了鼠标挂钩,则关闭窗口会延迟
【发布时间】:2011-01-01 14:54:47
【问题描述】:

如果我设置一个低级鼠标钩子,WH_MOUSE_LL
当我单击 [x](关闭)按钮时,窗口会延迟约 500 毫秒,然后消失。

您知道导致延迟的原因吗?还有,有办法解决吗?

(窗口和钩子是通过直接调用 C++ 中的 win32 api 创建的)

【问题讨论】:

    标签: winapi mouse-hook


    【解决方案1】:

    WH_MOUSE_LL 是一种不同于大多数其他钩子的钩子。它是通过直接调用钩子过程而不是注入DLL来实现的。这需要一个消息循环来主动抽水。关闭窗口后不再存在的可能性很高。请务必在 WM_CLOSE 消息处理程序中取消挂钩。

    【讨论】:

    • @nobugz,我已经尝试过您的解决方案和其他组合,但没有奏效。这是一个带有消息循环的普通(主)窗口。使用WH_KEYBOARD_LL 我没有这个问题。
    • 如果没有看到重现代码,我无法猜测问题可能是什么。将其发布到某处的文件共享服务中。
    • 没有复制,它会立即关闭。这表明问题是外部的。
    • 好的,感谢您的帮助。您是否在 Windows XP 或更新版本上尝试过?
    猜你喜欢
    • 1970-01-01
    • 2021-10-21
    • 2011-11-17
    • 2017-03-30
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多