keybd_event使用方法 - 小众知识

keybd_event使用方法

2014-03-08 17:49:53 苏内容
  标签:
阅读:4811

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);

 

附:常用模拟键的键值对照表(也可参考http://msdn.microsoft.com/en-us/library/dd375731(v=vs.85).aspx

 

 

                                                         键盘键与虚拟键码对照表


字母和数字键数字小键盘的键功能键其它键
键码键码键码键码
A65096F1112Backspace8
B66197F2113Tab9
C67298F3114Clear12
D68399F4115Enter13
E694100F5116Shift16
F705101F6117Control17
G716102F7118Alt18
H727103F8119Caps Lock20
I738104F9120Esc27
J749105F10121Spacebar32
K75*106F11122Page Up33
L76+107F12123Page Down34
M77Enter108----End35
N78-109----Home36
O79.110----Left Arrow37
P80/111----Up Arrow38
Q81--------Right Arrow39
R82--------Down Arrow40
S83--------Insert45
T84--------Delete46
U85--------Help47
V86--------Num Lock144
W87
X88
Y89
Z90
048
149
250
351
452
553
654
755
856
957


扩展阅读
相关阅读
© CopyRight 2010-2021, PREDREAM.ORG, Inc.All Rights Reserved. 京ICP备13045924号-1