【发布时间】:2013-01-25 09:17:02
【问题描述】:
我编写了一个当前处理来自多个鼠标设备的点击的应用程序。
我使用了this project 并进行了修改以处理与键盘相对的鼠标点击。
这工作正常,但是现在我需要知道如果我的应用程序已经处理了点击事件,是否有办法抑制它。该应用程序是一个问答游戏,因此其想法是问答大师将拥有(并且仍然能够使用)1 只鼠标,而其他参赛者将拥有自己的鼠标(作为蜂鸣器)。因此,当它们发出嗡嗡声时,我不希望鼠标单击事件在操作系统(或至少此应用程序)中触发。
这个概念是熟悉的 void WndProc(ref Message message) 覆盖,所以我尝试不调用 base.WndProc(ref Message)不希望触发点击事件,但这不起作用。
有人可以在这里指出正确的方向吗?
我应该走windows hook 路线吗?我看过这个,但我似乎无法弄清楚如何单独连接到每个鼠标设备。
任何帮助将不胜感激。
编辑:
这是一个 Windows 窗体 UI 项目,而不是 WPF。所以MultiPoint SDK from Microsoft 不起作用。
【问题讨论】:
-
Microsoft Multipoint SDK 中有什么内容吗? microsoft.com/multipoint/mouse-sdk/showcase.aspx - 它支持处理来自多个鼠标的输入。
-
你打败了我,我想说,我应该提到我使用的是 Windows 窗体 UI,而不是 WPF。我已经看过多点 SDK。
-
Windows 挂钩不起作用,这需要通过 WM_INPUT 进行原始输入。需要 Pinvoke。
-
那么有没有办法做到这一点?
标签: c# winforms hook hid wndproc