C# 扩展Windows键盘

C# 扩展Windows键盘,c#,windows,windows-7,directx,key,C#,Windows,Windows 7,Directx,Key,我对扩展Windows键盘上的键感兴趣(特别是-但不一定限于-Windows 7)。目前,我可以使用C#应用程序中的密钥: 我感兴趣的是扩展可用的键码,这样我可以根据我的特定(可编程键盘)硬件定制它们,然后能够在我的C#/DirectX应用程序中注册它们。我知道创建热键组合是可能的,但我想先探讨一下这个选项。我的问题是: A) 这种做法完全疯狂吗 B) 如果A==false:有人有过吗 这方面的实际经验。可以 你推荐什么好的 关键词/我应该学习的教程 看看?我的理解是,Windows只接受基于

我对扩展Windows键盘上的键感兴趣(特别是-但不一定限于-Windows 7)。目前,我可以使用C#应用程序中的密钥:

我感兴趣的是扩展可用的键码,这样我可以根据我的特定(可编程键盘)硬件定制它们,然后能够在我的C#/DirectX应用程序中注册它们。我知道创建热键组合是可能的,但我想先探讨一下这个选项。我的问题是:

A) 这种做法完全疯狂吗

B) 如果A==false:有人有过吗 这方面的实际经验。可以 你推荐什么好的 关键词/我应该学习的教程
看看?

我的理解是,Windows只接受基于键枚举的鼠标/键盘输入(无管理世界中的虚拟键:)。这使得您的选择在Windows上不可能实现

作为一个具体的例子,Windows只有五个鼠标按钮的代码(
LButton
RButton
MButton
XButton1
XButton2
),但您可以购买带有五个以上按钮的鼠标。无法动态创建扩展按钮的新虚拟钥匙代码。为了克服这个限制,像这样的鼠标附带了一个软件,可以让你对按下每个按钮的功能进行编程。通常,您会找到将扩展按钮绑定到其他虚拟按键代码的一次按下的选项,甚至可以编写组合多个按键的更复杂宏


在应用程序中,您所能做的最好的事情是确保正确处理来自“关键点”枚举的全部值(和修改器组合)。然后对键盘进行适当的编程。这可能意味着利用一些扩展的虚拟键,如
BrowserForward
,立即提供一组更大的虚拟键代码,或生成更复杂的宏,以快速输入一系列虚拟键代码。

感谢您的反馈。我确实有能力输入一系列快速的键码,所以我想我只需要将其作为我的解决方案,并解决任何问题。我问的主要原因是我知道一些控制器(罗技操纵杆、xBox控制器)似乎发送自己的信号/钥匙码,我想利用这种系统。