您当前的位置 :首页 > 学习资料 > 模拟键盘API函数Keybd_event用法
投稿

模拟键盘API函数Keybd_event用法

2021-03-22 00:12:57 来源: 作者: 责任编辑:cncml

模拟键盘API函数Keybd_event用法

Windows提供了一个模拟键盘API函数Keybd_event(),使用该函数可以相应的屏蔽键盘的动作。Keybd_event()函数能触发一个按键事件,也就是说会产生一个WM_KEYDOWN或WM_KEYUP消息。

win32api.keybd_event

该函数原型如下:

  1. VOID keybd_event(  
  2.   BYTE bVk, // virtual-key code  
  3.   BYTE bScan, // hardware scan code  
  4.   DWORD dwFlags, // flags specifying various function options  
  5.   DWORD dwExtraInfo // additional data associated with keystroke  
  6.   );  
复制代码
  从原型可以看出,Keybd_event()共有四个参数:

      第一个为按键的虚拟键值,如回车键为vk_return, tab键为vk_tab(其他具体的参见附录:常用模拟键的键值对照表);

      第二个参数为扫描码,一般不用设置,用0代替就行;

      第三个参数为选项标志,如果为keydown则置0即可,如果为keyup则设成"KEYEVENTF_KEYUP";

      第四个参数一般也是置0即可。

 

例子1:模拟按下'A'键

  1. keybd_event(65,0,0,0);  
  2. keybd_event(65,0,KEYEVENTF_KEYUP,0);  
复制代码
例子2:模拟按下'ALT+F4'键
  1. keybd_event(18,0,0,0);  
  2. keybd_event(115,0,0,0);  
  3. keybd_event(115,0,KEYEVENTF_KEYUP,0);  
  4. keybd_event(18,0,KEYEVENTF_KEYUP,0);  
复制代码
附:常用模拟键的键值对照表(实际上字母的大小写键代码是不同的 )
  1.       字母和数字键 数字小键盘的键  
  2. 功能键 其它键   
  3.       键   键码    键   键码    键   键码     键    键码   
  4.       A   65     0   96     F1   112   Backspace    8   
  5.       B   66     1   97     F2   113   Tab       9   
  6.       C   67     2   98      F3   114    Clear      12   
  7.       D   68   3   99     F4   115  Enter      13   
  8.       E   69     4   100    F5   116  Shift      16   
  9.       F   70     5   101    F6   117  Control     17   
  10.       G   71     6   102    F7   118   Alt       18   
  11.       H   72    7   103    F8   119  Caps Lock    20   
  12.       I   73    8   104    F9   120  Esc       27   
  13.       J   74    9   105    F10  121  Spacebar    32   
  14.       K   75    *   106     F11  122  Page Up     33   
  15.       L   76    +   107     F12  123  Page Down    34   
  16.       M   77    Enter 108    --   --   End       35   
  17.       N   78    -   109    --   --    Home      36   
  18.       O   79    .   110    --   --     Left Arrow   37   
  19.       P   80    /   111    --   --     Up Arrow    38   
  20.       Q   81    --   --     --   --     Right Arrow   39   
  21.       R   82    --   --    --   --      Down Arrow    40   
  22.       S   83    --   --     --   --     Insert      45   
  23.       T   84    --   --     --   --     Delete      46   
  24.       U   85    --   --     --   --     Help       47   
  25.       V   86    --   --    --   --     Num Lock     144   
  26.       W   87            
  27.       X   88        
  28.       Y   89        
  29.       Z   90        
  30.       0   48        
  31.       1   49        
  32.       2   50         
  33.       3   51         
  34.       4   52         
  35.       5   53         
  36.       6   54         
  37.       7   55         
  38.       8   56         
  39.       9   57    
复制代码
 

按键

键码

按键

键码

按键

键码

按键

键码

A

65

6(数字键盘)

102

;

59

:

58

B

66

7(数字键盘)

103

=

61

+

                   43

C

67

8(数字键盘)

104

,

44

<

60

D

68

9(数字键盘)

105

-

45

_

95

E

69

*

106

.

46

>

62

F

70

!

33

/

47

?

63

G

71

Enter

13

`

96

~

126

H

72

@

64

[

91

{

123

I

73

#

35

\\

92

|

124

J

74

$

36

}

125

]

93

K

75

F1

112

a

97

b

98

L

76

F2

113

c

99

d

100

M

77

F3

114

e

101

f

102

N

78

F4

115

g

103

h

104

O

79

F5

116

i

105

j

106

P

80

F6

117

k

107

l

108

Q

81

F7

118

m

109

n

110

R

82

F8

119

o

111

p

112

S

83

F9

120

q

113

r

114

T

84

F10

121

s

115

t

116

U

85

F11

122

u

117

v

118

V

86

F12

123

w

119

x

120

W

87

Backspace

8

y

121

z

122

X

88

Tab

9

0(数字键盘)

96

Up Arrow

38

Y

89

Clear

12

1(数字键盘)

97

Right Arrow

39

Z

90

Shift

16

2(数字键盘)

98

Down Arrow

40

0(小键盘)

48

Control

17

3(数字键盘)

99

Insert

45

1(小键盘)

49

Alt

18

4(数字键盘)

100

Delete

46

2(小键盘)

50

Cap Lock

20

5(数字键盘)

101

Num Lock

144

3(小键盘)

51

Esc

27

2(数字键盘)

98

Down Arrow

40

4(小键盘)

52

Spacebar

32

3(数字键盘)

99

Insert

45

5(小键盘)

53

Page Up

33

4(数字键盘)

100

Delete

46

6(小键盘)

54

Page Down

34

5(数字键盘)

101

Num Lock

144

7(小键盘)

55

End

35

 

8(小键盘)

56

Home

36

 

9(小键盘)

57

Left Arrow

37

 

 
 
 
 

文章来源: 责任编辑:cncml
版权声明:
1、本主题所有言论和图片纯属会员个人意见,与本网站立场无关
2、本站所有主题由该文章作者发表,该文章作者与享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、管理员和版主有权不事先通知发贴者而删除本文
不良信息举报信箱 新闻热线:18733599993 技术服务:18733599993 网上投稿
关于本站 | 广告服务 | 免责申明 | 招聘信息 | 联系我们
在线网 版权所有 Copyright(C)2005-2025