C# 低级鼠标钩子和表单事件处理

2023-12-30

我正在使用 VS 2010 生成的简单表单,其中包含 2 个按钮:开始和停止。 Start 使用 SetWindowsHookEx 触发 WH_MOUSE_LL,stop 停止钩子。 挂钩工作正常,我设法用双击“替换”鼠标中键单击,我遇到的唯一问题是单击表单的最小化/最大化/关闭按钮,似乎之间存在某种“事件竞赛”上面提到的按钮调用的钩子和事件。它反映了这样一个事实:当您按下其中一个按钮时,它会在完成其操作之前一直被“按下”一段时间(例如,表单最小化)。 当我右键单击表单并选择其中一项操作时,它会立即响应,当我停止挂钩并按上述按钮之一时,也会发生同样的情况。 有人遇到过这样的行为吗?


我以前也经历过这种情况。我不确定确切的原因,但我总是通过侦听鼠标进入和离开表单、窗口等的客户区域时触发的事件来解决问题。您可以使用这些事件来挂钩和取消挂钩鼠标,然后您将获得正常的行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 低级鼠标钩子和表单事件处理 的相关文章

随机推荐