检测VB6中存在的键盘

问题描述 投票:0回答:1

我有一个旧版VB6项目,现在可以在没有连接键盘的系统上运行。在这种情况下,程序将打开屏幕键盘上的MS。我需要检测是否连接了键盘。如果连接了键盘,则跳过打开屏幕键盘的操作。此刻,它会打开屏幕键盘,然后用户必须将其关闭。这是笨拙的。我无法迁移此应用程序,因为它支持VB.net无法访问的某些旧设备。任何想法,请。

keyboard vb6
1个回答
0
投票
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
© www.soinside.com 2019 - 2024. All rights reserved.