keydb_event

模擬鍵盤動作API函式keydb_event,它可以模擬對鍵盤上的某個或某些鍵進行按下或放開的動作。

基本介紹

  • 外文名:keybd_event
  • 硬體掃描碼:BYTE bScan,
  • 虛擬鍵值:BYTE bVk,
  • 動作標識:DWORD dwFlags, 
簡介,基本表格,

簡介

BYTE bVk, // 虛擬鍵值。
BYTE bScan, // 硬體掃描碼。
DWORD dwFlags, // 動作標識。
DWORD dwExtraInfo // 與鍵盤動作關聯的輔加信息。
);
其中,bVk表示虛擬鍵值,其實它是一個BYTE類型值的宏,其取值範圍為1-254。有關虛擬鍵值表請看最下文檔說明。bScan表示當鍵盤上某鍵被按下和放開時,鍵盤系統硬體產生的掃描碼,我們可以使用MapVirtualKey()函式在虛擬鍵值與掃描碼之間進行轉換。dwFlags表示各種各樣的鍵盤動作,它有兩種取值:
KEYEVENTF_EXTENDEDKEY和KEYEVENTF_KEYUP。
下面我們使用一段代碼實現在遊戲中按Ctrl+R快捷鍵對攻擊對象進行攻擊。
keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0),0,0); //按下CTRL鍵。
keybd_event(0x52,MapVirtualKey(0x52,0),0,0);//鍵下R鍵。
keybd_event(0x52,MapVirtualKey(0x52,0), KEYEVENTF_KEYUP,0);//放開R鍵。
keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0),
KEYEVENTF_KEYUP,0);//放開CTRL鍵。
這裡是有問題的,會導致鍵不釋放:
API.keybd_event(0xA4,0, 0, 0); //按下ALT鍵。
Thread.Sleep(100);
API.PostMessage(fatherhwnd, API.WM_KEYDOWN, (int)Keys.F, 0);
Thread.Sleep(100);
API.keybd_event(0xA4, 0, 2, 2);//放開ALT鍵。

基本表格

虛擬鍵
十六進制值
十進制值
相應鍵盤或滑鼠鍵
VK_LBUTTON
01
1
滑鼠左鍵
VK_RBUTTON
02
2
滑鼠右鍵
VK_CANCEL
03
3
Ctrl-Break鍵
VK_MBUTTON
04
4
滑鼠中鍵
VK_BACK
08
8
Backspace鍵
VK_TAB
09
9
Tab鍵
VK_CLEAR
0C
12
Clear鍵
VK_RETURN
0D
13
Enter鍵
VK_SHIFT
10
16
Shift鍵
VK_CONTROL
11
17
Ctrl鍵
VK_MENU
12
18
Alt鍵
VK_PAUSE
13
19
Pause鍵
VK_CAPITAL
14
20
Caps Lock鍵
VK_ESCAPE
1B
27
Esc鍵
VK_SPACE
20
32
Space鍵
VK_PRIOR
21
33
Page Up鍵
VK_NEXT
22
34
Page Down鍵
VK_END
23
35
End鍵
VK_HOME
24
36
Home鍵
VK_LEFT
25
37
←鍵
VK_UP
26
38
↑鍵
VK_RIGHT
27
39
→鍵
VK_DOWN
28
40
↓鍵
VK_SELECT
29
41
Select鍵
VK_PRINT
2A
42
Print鍵
VK_EXECUTE
2B
43
Execute鍵
VK_SNAPSHOT
2C
44
Print Screen鍵
VK_INSERT
2D
45
Ins鍵
VK_DELETE
2E
46
Del鍵
VK_HELP
2F
47
Help鍵
VK_0
0x30
48
0鍵
VK_1
0x 31
49
1鍵
VK_2
0x 32
50
2鍵
VK_3
0x 33
51
3鍵
VK_4
0x 34
52
4鍵
VK_5
0x 35
53
5鍵
VK_6
0x 36
54
6鍵
VK_7
0x 37
55
7鍵
VK_8
0x 38
56
8鍵
VK_9
0x 39
57
9鍵
VK_A
41
65
A鍵
VK_B
42
66
B鍵
VK_C
43
67
C鍵
VK_D
44
68
D鍵
VK_E
45
69
E鍵
VK_F
46
70
F鍵
VK_G
47
71
G鍵
VK_H
48
72
H鍵
VK_I
49
73
I鍵
VK_J
4A
74
J鍵
VK_K
4B
75
K鍵
VK_L
4C
76
L鍵
VK_M
4D
77
M鍵
VK_N
4E
78
N鍵
VK_O
4F
79
O鍵
VK_P
50
80
P鍵
VK_Q
51
81
Q鍵
VK_R
52
82
R鍵
VK_S
53
83
S鍵
VK_T
54
84
T鍵
VK_U
55
85
U鍵
VK_V
56
86
V鍵
VK_W
57
87
W鍵
VK_X
58
88
X鍵
VK_Y
59
89
Y鍵
VK_Z
5A
90
Z鍵
VK_LWIN
5B
91
左Windows鍵
VK_RWIN
5C
92
右Windows鍵
VK_APPS
5D
93
應用程式鍵
VK_SLEEP
5F
95
休眠鍵
VK_NUMPAD0
60
96
小數字鍵盤0鍵
VK_NUMPAD1
61
97
小數字鍵盤1鍵
VK_NUMPAD2
62
98
小數字鍵盤2鍵
VK_NUMPAD3
63
99
小數字鍵盤3鍵
VK_NUMPAD4
64
100
小數字鍵盤4鍵
VK_NUMPAD5
65
101
小數字鍵盤5鍵
VK_NUMPAD6
66
102
小數字鍵盤6鍵
VK_NUMPAD7
67
103
小數字鍵盤7鍵
VK_NUMPAD8
68
104
小數字鍵盤8鍵
VK_NUMPAD9
69
105
小數字鍵盤9鍵
VK_MULTIPLY
6A
106
乘號鍵
VK_ADD
6B
107
加號鍵
VK_SEPARATOR
6C
108
分割鍵
VK_SUBSTRACT
6D
109
減號鍵
VK_DECIMAL
6E
110
小數點鍵
VK_DIVIDE
6F
111
除號鍵
VK_F1
70
12
F1鍵
VK_F2
71
113
F2鍵
VK_F3
72
114
F3鍵
VK_F4
73
115
F4鍵
VK_F5
74
116
F5鍵
VK_F6
75
117
F6鍵
VK_F7
76
118
F7鍵
VK_F8
77
119
F8鍵
VK_F9
78
120
F9鍵
VK_F10
79
121
F10鍵
VK_F11
7A
122
F11鍵
VK_F12
7B
123
F12鍵
VK_F13
7C
124
F13鍵
VK_F14
7D
125
F14鍵
VK_F15
7E
126
F15鍵
VK_F16
7F
127
F16鍵
VK_F17
80
128
F17鍵
VK_F18
81
129
F18鍵
VK_F19
82
130
F19鍵
VK_F20
83
131
F20鍵
VK_F21
84
132
F21鍵
VK_F22
85
133
F22鍵
VK_F23
86
134
F23鍵
VK_F24
87
135
F24鍵
VK_NUMLOCK
90
144
Num Lock鍵
VK_SCROLL
91
45
Scroll Lock鍵
VK_LSHIFT
A0
160
左Shift鍵
VK_RSHIFT
A1
161
右Shift鍵
VK_LCONTROL
A2
162
左Ctrl鍵
VK_RCONTROL
A3
163
右Ctrl鍵
VK_LMENU
A4
164
左Alt鍵
VK_RMENU
A5
165
右Alt鍵

相關詞條

熱門詞條

聯絡我們