我正在编写一个用于在Windows上检测鼠标和键盘上的额外输入的概念的小证明,它是否可能,以及如何从Windows API中的大量按钮中检测输入?据我所读到,只有5个按钮的支持,但许多鼠标有更多的按钮,我的问题甚至可以用Windows,它是否有可能在Windows的约束下?
发布于 2016-04-06 22:38:44
您可以使用原始输入API直接从鼠标/键盘驱动程序接收WM_INPUT消息。有5个标准鼠标按钮(左、中、右、x1和x2)的结构字段。除了标准按钮之外,附加按钮还由特定于供应商的数据处理,您必须根据需要对这些数据进行编码。API可以让您访问原始值,但是您必须参考供应商驱动程序文档来解释它们。有时额外的按钮实际上被报告为键盘输入而不是鼠标输入。
或者,尝试使用DirectInput API与DirectInput器件交互以接收鼠标数据和键盘数据。
或者,您可以使用XInput API,它是DirectInput的继承者。然而,XInput比DirectInput更受限制,因为它主要是为与Xbox 360控制器交互而设计的,而DirectInput是为与任何控制器交互而设计的。有关更多详细信息,请参阅XInput和DirectInput。
发布于 2016-04-08 05:01:55
非常简单:使用GetKeyState
SHORT WINAPI GetKeyState(
_In_ int nVirtKey
);下一个是逻辑:
GetKeyState 0-255直接输入和所有其他输入更适用于其他用户输入设备。对于键盘和鼠标- GetKeyState是最好的。
https://stackoverflow.com/questions/36463375
复制相似问题