确定在.NET中单击了哪个鼠标(多个鼠标设备)

Mor*_*sbo 11 c# vb.net

我想检测点击我的触控板的时间!

我通常使用USB鼠标,所以我不使用触摸板.相反,我希望能够在单击触摸板时在.NET中执行操作.通过这种方式,我可以将它用作快捷方式:轻轻一击即可.

这是可能的,如果是的话,任何线索如何?我更喜欢它是否可以在VB.NET或C#中工作.

我的理论是,我必须做一个鼠钩,然后以某种方式确定点击来自哪个设备.如果确定点击来自触摸板,则取消点击并执行任务().

谢谢!

*编辑* 嗯,它已经"解决了",有点像:)奇怪的是,Synaptics几天前发布了他们最新的触摸板驱动程序和软件以及一些新的功能.由于我的笔记本电脑有一个synaptics触摸板,我试用了该软件,有趣的是,内置了指定触控板上的点击以执行操作的功能.

所以已经实现了所需的功能,没有一行代码(我自己的代码:).

回答Adrian的链接到RawInputSharp库.我昨天做了修补,我90%肯定可以用于此目的,如果笔记本电脑没有synaptics触控板.

adr*_*nks 5

从这个页面看一下RawInputSharp库.它使用pInvokes User32.dll来获取输入设备信息.使用它可以检测来自哪个设备(即鼠标)输入.

玩了一下之后,我设法提取了一些只显示设备ID的代码 - 根据我是使用USB鼠标还是内置触摸板而不同的值.棘手的是要自动识别哪个设备ID是触摸板的设备ID,但您可以在应用程序中手动配置它.