您尚未登录,请登录后浏览更多内容! 登录 | 立即注册

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

cncml手绘网 首页 站长博文 学习笔记 查看内容

[C++学习资料]模拟键盘API函数Keybd_event用法

2019-11-1 11:58| 发布者: admin| 查看: 494| 评论: 0|原作者: admin

摘要: 模拟键盘API函数Keybd_event用法

模拟键盘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





鲜花

握手

雷人

路过

鸡蛋

最新评论

关闭

站内最热文章上一条 /1 下一条

GMT+8, 2024-4-20 16:11 , Processed in 0.150988 second(s), 27 queries .

Copyright © 2001-2024 Powered by cncml! X3.2. Theme By cncml!