|
发表于 2023-6-30 17:27
来自手机
|
显示全部楼层
'模拟按钮、键盘模拟、模拟按键(方便搜索)
'API函数`keybd_event`来模拟按下或释放键盘按键
Private Declare Sub keybd_event Lib "user32" _
(ByVal bVk As Byte, ByVal bScan As Byte, _
ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
'API函数`GetKeyState`来查看按钮状态
Private Declare Function GetKeyState Lib "user32" _
(ByVal nVirtKey As Long) As Integer
'根据需要点击按钮
'bVk:按钮的编码
'isOn: true 表示 打开, false 表示关闭(常用于三个键盘灯)
Sub KeyboardControl(bVk As Byte, isOn As Boolean)
'判断键盘灯是否生效,根据需要点击按钮
If (GetKeyState(bVk) And isOn = False) _
Or (Not GetKeyState(bVk) And isOn = True) Then
keybd_event bVk, 0, 0, 0: keybd_event bVk, 0, 2, 0
End If
End Sub
Sub 调用测试()
'关闭 Num Lock
KeyboardControl 144, False
'打开 Num Lock
KeyboardControl 144, True
'打开 Caps Lock
KeyboardControl 20, True
'关闭 Caps Lock
KeyboardControl 20, False
'打开 Scroll Lock
KeyboardControl 145, True
'关闭 Scroll Lock
KeyboardControl 145, False
End Sub
' 键盘键与虚拟键码对照表
'
' 字母和数字键 数字小键盘的键 功能键 其它键
' 键 键码 键 键码 键 键码 键 键码
' A 65 0 96 F1 112 Backspace 8
' B 66 1 97 F2 113 Tab 9
' C 67 2 98 F3 114 Clear 12
' D 68 3 99 F4 115 Enter 13
' E 69 4 100 F5 116 Shift 16
' F 70 5 101 F6 117 Control 17
' G 71 6 102 F7 118 Alt 18
' H 72 7 103 F8 119 Caps Lock 20
' I 73 8 104 F9 120 Esc 27
' J 74 9 105 F10 121 Spacebar 32
' K 75 * 106 F11 122 Page Up 33
' L 76 + 107 F12 123 Page Down 34
' M 77 Enter 108 -- -- End 35
' N 78 - 109 -- -- Home 36
' O 79 . 110 -- -- Left Arrow 37
' P 80 / 111 -- -- Up Arrow 38
' Q 81 -- -- -- -- Right Arrow 39
' R 82 -- -- -- -- Down Arrow 40
' S 83 -- -- -- -- Insert 45
' T 84 -- -- -- -- Delete 46
' U 85 -- -- -- -- Help 47
' V 86 -- -- -- -- Num Lock 144
' W 87
' x 88
' y 89
' Z 90
' 0 48
' 1 49
' 2 50
' 3 51
' 4 52
' 5 53
' 6 54
' 7 55
' 8 56
' 9 57 |
评分
-
2
查看全部评分
-
|