如果键盘连接或不是以编程方式检查?

我正在开发与C#winforms的应用程序。

我们的应用程序将被安装在win8的表面(触摸屏设备)。

我们要检查一个键盘是否通过USB连接,然后我们的应用程序将不会显示软键盘,否则会显示。

许多方法可用来检查WinRT,但没有用于Winforms C#。

请让我知道如果我的问题不清楚。

提前致谢。

我只是写了这个,并在W8上测试:

ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select Name from Win32_Keyboard"); foreach(ManagementObject keyboard in searcher.Get()) { if (!keyboard.GetPropertyValue("Name").Equals("")) { Console.WriteLine("KB Name: {0}", keyboard.GetPropertyValue("Name")); } } 

我也连接了第二个键盘,可以看到它检测到。 当我拔下一个我得到一个条目,当拔掉两个我什么也得不到。

我在这里也找到了一些例子: 例1和例2

希望这可以帮助。