6

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

4

1 回答 1

2

I have experienced this before as well. I'm not sure as to the exact cause, but I have always solved the problem by listening for events that are fired when the mouse enters and leaves the client area of the form, window, whatever. You can use those events to hook and unhook the mouse, and then you will get the normal behaviour.

于 2011-09-01T14:31:19.807 回答