keybd_event是函式功能:該函式合成一次擊鍵事件。系統可使用這種合成的擊鍵事件來產生wm_keyup或wm_keydown訊息。
windows提供了乙個模擬鍵盤api函式keybd_event(),使用該函式可以相應的遮蔽鍵盤的動作。keybd_event()函式能觸發乙個按鍵事件,也就是說會產生乙個wm_keydown或wm_keyup訊息。
該函式原型如下:
void keybd_event(
byte bvk, // virtual-key code
byte bscan, // hardware scan code
dword dwflags, // flags specifying various function options
dword dwextrainfo // additional data associated with keystroke
);從原型可以看出,keybd_event()共有四個引數:
第乙個為按鍵的虛擬鍵值,如回車鍵為vk_return, tab鍵為vk_tab(其他具體的參見附錄:常用模擬鍵的鍵值對照表);
第二個引數為掃瞄碼,一般不用設定,用0代替就行;
第三個引數為選項標誌,如果為keydown則置0即可,如果為keyup則設成"keyeventf_keyup";
第四個引數一般也是置0即可。
例子1:模擬按下'a'鍵
keybd_event(65,0,0,0);
keybd_event(65,0,keyeventf_keyup,0);
例子2:模擬按下'alt+f4'鍵
keybd_event(18,0,0,0);
keybd_event(115,0,0,0);
keybd_event(115,0,keyeventf_keyup,0);
keybd_event(18,0,keyeventf_keyup,0);
例子3:模擬按下'ctrl+v'鍵
[system.runtime.interopservices.dllimport("user32")]
public static extern void keybd_event(byte bvk, byte bscan, int dwflags, int dwextrainfo);
private void formwork_load(object sender, eventargs e)
附:常用模擬鍵的鍵值對照表(也可參考
字母和數字鍵 數字小鍵盤的鍵 功能鍵 其它鍵
鍵 鍵碼 鍵 鍵碼 鍵 鍵碼 鍵 鍵碼
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
0x1 滑鼠左鍵
0x2 滑鼠右鍵
0x3 cancel 鍵
0x4 滑鼠中鍵
0x8 backspace 鍵
0x9 tab 鍵
0xc clear 鍵
0xd enter 鍵
0x10 shift 鍵
0x11 ctrl 鍵
0x12 menu 鍵
0x13 pause 鍵
0x14 caps lock 鍵
0x1b esc 鍵
0x20 spacebar 鍵
0x21 page up 鍵
0x22 page down 鍵
0x23 end 鍵
0x24 home 鍵
0x25 left arrow 鍵
0x26 up arrow 鍵
0x27 right arrow 鍵
0x28 down arrow 鍵
0x29 select 鍵
0x2a print screen 鍵
0x2b execute 鍵
0x2c snapshot 鍵
0x2d insert 鍵
0x2e delete 鍵
0x2f help 鍵
0x90 num lock 鍵
a 至 z 鍵與 a – z 字母的 ascii 碼相同:
值 描述
65 a 鍵
66 b 鍵
67 c 鍵
68 d 鍵
69 e 鍵
70 f 鍵
71 g 鍵
72 h 鍵
73 i 鍵
74 j 鍵
75 k 鍵
76 l 鍵
77 m 鍵
78 n 鍵
79 o 鍵
80 p 鍵
81 q 鍵
82 r 鍵
83 s 鍵
84 t 鍵
85 u 鍵
86 v 鍵
87 w 鍵
88 x 鍵
89 y 鍵
90 z 鍵
0 至 9 鍵與數字 0 – 9 的 ascii 碼相同:
值 描述
48 0 鍵
49 1 鍵
50 2 鍵
51 3 鍵
52 4 鍵
53 5 鍵
54 6 鍵
55 7 鍵
56 8 鍵
57 9 鍵
下列常數代表數字鍵盤上的鍵:
值 描述
0x60 0 鍵
0x61 1 鍵
0x62 2 鍵
0x63 3 鍵
0x64 4 鍵
0x65 5 鍵
0x66 6 鍵
0x67 7 鍵
0x68 8 鍵
0x69 9 鍵
0x6a multiplication sign (*) 鍵
0x6b plus sign (+) 鍵
0x6c enter 鍵
0x6d minus sign (–) 鍵
0x6e decimal point (.) 鍵
0x6f division sign (/) 鍵
下列常數代表功能鍵:
值 描述
0x70 f1 鍵
0x71 f2 鍵
0x72 f3 鍵
0x73 f4 鍵
0x74 f5 鍵
0x75 f6 鍵
0x76 f7 鍵
0x77 f8 鍵
0x78 f9 鍵
0x79 f10 鍵
0x7a f11 鍵
0x7b f12 鍵
0x7c f13 鍵
0x7d f14 鍵
0x7e f15 鍵
0x7f f16 鍵
模擬按下某快捷鍵 keybd event使用方法
keybd event是函式功能 該函式合成一次擊鍵事件。系統可使用這種合成的擊鍵事件來產生wm keyup或wm keydown訊息。windows提供了乙個模擬鍵盤api函式keybd event 使用該函式可以相應的遮蔽鍵盤的動作。keybd event 函式能觸發乙個按鍵事件,也就是說會產生...
Android模擬器快捷鍵
home鍵 小房子鍵 在鍵盤上對映的就是home鍵,這倒是很好記。menu鍵 用於開啟選單的按鍵,在鍵盤上對映的是f2鍵,pgup鍵同樣可以。另外,看英文原文的意思,貌似這個鍵在某些機型上會被設計為左軟體 left softkey start鍵 這個鍵在模擬器和g1真機上我都沒有找到到底是哪個鍵。對...
Android eclipse模擬器快捷鍵一覽
home home button 主介面鍵 f2,pageup menu soft left button 左軟鍵 shift f2,pagedown star soft right button 右軟鍵 escape back button 後退鍵 f3 call dial button 撥號 呼...