[英]Get Device Information from C# IntPtr
背景/免责声明:我目前正在开发一个需要与 Microsoft 的原始输入 API 交互的 C# 项目。 我是一名 C# 开发人员,我对原始输入 API“空间”和相关 API(即 Windows 窗体、user32.dll、Windows 编程)完全陌生。
问题:由于我的背景,我更喜欢通过 C# 托管包装库使用原始输入 API; 我选择了 SharpDX,但我对其他 C# 解决方案持开放态度。 我已经获得了原始输入,捕获了键盘事件和代表键盘设备的 IntPtr。 有什么方法可以通过此 IntPtr 参考找到有关设备的更多信息(例如 Guid、产品名称、设备名称等)?
到目前为止做了什么
注意:虽然代码答案很有帮助,但我在这里不仅仅是为了“抢答然后跑”。 只要可以通过一些 C# 托管的免费库或没有 C#“不安全”上下文来做到这一点; 向我发送指向所述图书馆的文档和图书馆主站点的链接,并附上一些一般指南就足够了。
理论上,是的,指针应该是对输入设备句柄的引用,因此您应该能够调用GetRawInputDeviceInfo来获取所需的信息。
您必须自己导入这个外部函数调用(来自 KMoussa 的评论) ,或者在您选择的 C# 托管包装器中导入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.