我有一个旧版VB6项目,现在可以在没有连接键盘的系统上运行。在这种情况下,程序将打开屏幕键盘上的MS。我需要检测是否连接了键盘。如果连接了键盘,则跳过打开屏幕键盘的操作。此刻,它会打开屏幕键盘,然后用户必须将其关闭。这是笨拙的。我无法迁移此应用程序,因为它支持VB.net无法访问的某些旧设备。任何想法,请。
Private Function hasKeyboard() As Boolean
Dim WMIService As Object
Dim Items As Object
Dim Item As Object
hasKeyboard = False
Set WMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set Items = WMIService.ExecQuery("SELECT * FROM Win32_Keyboard")
For Each Item In Items
If InStr(1, UCase(Item.Status), "OK") > 0 Then
hasKeyboard = True
Exit Function
End If
Next
End Function