【问题标题】:Prevent default click event (WinAPI)防止默认点击事件(WinAPI)
【发布时间】:2010-09-01 00:37:18
【问题描述】:

我正在制作一个颜色滴管工具,当这个工具处于活动状态时,当用户点击或点击时,我只希望它运行我的鼠标事件,而不是其他任何东西,所以当这个工具运行时,如果用户点击start orb,它不应该打开开始菜单(或者如果用户点击其他任何东西)。我怎么能这样做?

谢谢

【问题讨论】:

    标签: c++ c winapi gdi


    【解决方案1】:

    您可以实现系统范围的鼠标事件挂钩。钩子描述为here。根据钩子的返回值,光标下的应用程序将接收或不接收鼠标事件。您可能需要实现一个低级鼠标钩子来捕捉鼠标点击。钩子函数也应该提供鼠标光标的屏幕坐标。

    【讨论】:

      【解决方案2】:

      创建一个屏幕大小的透明窗口,放在所有其他窗口之上。

      【讨论】:

        【解决方案3】:

        试试SetCapture() / ReleaseCapture()

        【讨论】: