我有一个旧的 VB6 项目,现在可以在没有附加键盘的系统上运行。在这种情况下,程序会在屏幕键盘上打开 MS。我需要检测是否连接了键盘。如果连接了键盘,则跳过打开屏幕键盘。此时它会打开屏幕键盘,然后用户必须关闭它。它是笨重的。我无法迁移此应用程序,因为它支持一些 VB.net 无法访问的旧设备。请有任何想法。
Windows Management Instrumentation是您可以采用的一种方法。以下代码查找状态为 OK 的键盘:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |