我正在開發一個C#winforms的應用程序。如何以編程方式檢查鍵盤是否連接?
我們的應用程序將安裝在win8表面(觸摸屏設備)上。
我們想要檢查一個鍵盤是否通過USB連接,然後我們的應用程序不會顯示軟鍵盤,否則它會顯示。
許多方法可用於檢查WinRT,但不支持winforms C#。
如果我的問題不清楚,請讓我知道。
在此先感謝。
我正在開發一個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"));
}
}
我還與第二鍵盤,可以看到它檢測出來。當我拔下一個我得到一個條目,當拔掉兩個我什麼都沒有。
我也發現了一些例子在這裏: Example 1 這裏Example 2
希望這有助於。
WMI我會想象 – 2015-02-12 07:40:42
@CallumLinington我們試過這個,但它顯示鍵盤註冊與機器列表不提供事件,如果鍵盤連接或不.Thanks – 2intor 2015-02-12 07:42:40
這些問題似乎是相關的http://stackoverflow.com/questions/9930958/win32-determining-when-keyboard-is-connected-disconnected http://stackoverflow.com/questions/11993680/detect-keyboard-presence-in-windows-8-desktop-program – Codor 2015-02-12 07:42:44