我有一个用.NET编写的应用程序。我想为用户添加使用鼠标控制我的应用程序的功能,例如:高端游戏鼠标,上面有10-15个按钮。
这是否容易做,或者我需要一个带有我可以使用的.NET SDK的鼠标供应商 - 你能推荐吗?
我希望所有控件都在我的应用程序中,只需使用鼠标供应商驱动程序。
答案 0 :(得分:1)
如果我错了,请纠正我,但不要鼠标上的所有这些额外按钮通常映射到某种键盘组合(通常有一个控制面板应用程序,可让您指定哪些按钮映射到什么)。如果是这种情况,您应该能够使用KeyDown和KeyUp事件捕获按钮4及以上。
答案 1 :(得分:0)
在Windows中,每当您按某事时,它都会通过win32消息队列。 Here is some code to check how to retrieve those messages
现在(你当然需要一个15键鼠标),刹车点或Console :: writeline或者代码里面的任何东西,按下鼠标按钮然后发出声音,你就可以得到刚被按下的消息号。
之后,您可以检查是否可以在正常事件处理程序上绑定这些按键。
请注意,有关控制供应商硬件的解决方案不是非常便携。假设每个人都有微软鼠标,但我决定从香港购买一个20键鼠标,你必须编写新的代码来支持它。我认为你应该针对非常通用的解决方案
答案 2 :(得分:0)
您可以尝试获取Windows消息,例如在WinForms中,您可以覆盖表单的方法以获取所有消息:
protected override void WndProc(ref Message msg)
{
Console.WriteLine(
"HWnd:{0}\tLParam:{1}\tWParam:{2}\tMsg:{3}\tResult:{4}",
msg.HWnd, msg.LParam, msg.WParam, msg.Msg, msg.Result);
base.WndProc(ref msg);
}
用鼠标玩一下,看看你要拍的信息是什么。