python中模拟键盘按键和鼠标按键

目录

0.作用和需安装库

1.模拟键盘按键

2.虚拟键表

3.模拟鼠标


0.作用和需安装库

作用:用程序实现达到按下键盘按键的作用,或者按下鼠标,无需真正按键盘或者鼠标。

需要安装pywin32这个库

pip install pywin32

1.模拟键盘按键

例子1:单个键

import win32con
import win32api
import time

# 单个键
# 第一个参数,键盘对应数字,查看《键盘虚拟键值编码表》
# 第二个和第四个没用
# 第三个,0 代表按下,win32con.KEYEVENTF_KEYUP 代表松开
win32api.keybd_event(91, 0, 0, 0)  # 键盘按下
time.sleep(0.1)
win32api.keybd_event(91, 0, win32con.KEYEVENTF_KEYUP, 0)  # 键盘松开 # 打开 win

例子2:组合键 win + D

import win32con
import win32api
import time


# 组合键 win + D
win32api.keybd_event(91, 0, 0, 0)  # 键盘按下
win32api.keybd_event(68, 0, 0, 0)  # 键盘按下
time.sleep(0.1)
win32api.keybd_event(91, 0, win32con.KEYEVENTF_KEYUP, 0)  # 键盘松开
win32api.keybd_event(68, 0, win32con.KEYEVENTF_KEYUP, 0)  # 键盘松开

例子3:屏幕一闪一闪亮晶晶

import win32con
import win32api
import time


# 屏幕一闪一闪亮晶晶
count = 0
while True:
    count += 1
    win32api.keybd_event(91, 0, 0, 0)
    win32api.keybd_event(68, 0, 0, 0)
    time.sleep(0.1)
    win32api.keybd_event(91, 0, win32con.KEYEVENTF_KEYUP, 0)
    win32api.keybd_event(68, 0, win32con.KEYEVENTF_KEYUP, 0)
    if count > 10:
        break

2.键盘虚拟键值编码表

虚拟键码

对应值

对应键

VK_LBUTTON

1

鼠标左键

VK_RBUTTON

2

鼠标右键

VK_CANCEL

3

Cancel

VK_MBUTTON

4

鼠标中键

VK_XBUTTON1

5

鼠标后退键

VK_XBUTTON2

6

鼠标前进键

VK_BACK

8

Backspace

VK_TAB

9

Tab

VK_CLEAR

12

Clear

VK_RETURN

13

Enter

VK_SHIFT

16

Shift

VK_CONTROL

17

Ctrl

VK_MENU

18

Alt

VK_PAUSE

19

Pause

VK_CAPITAL

20

Caps Lock

VK_KANA

21

-

VK_HANGUL

21

VK_JUNJA

23

VK_FINAL

24

VK_HANJA

25

VK_KANJI

25*

VK_ESCAPE

27

Esc

VK_CONVERT

28

-

VK_NONCONVERT

29

VK_ACCEPT

30

VK_MODECHANGE

31

VK_SPACE

32

Space

VK_PRIOR

33

Page Up

VK_NEXT

34

Page Down

VK_END

35

End

VK_HOME

36

Home

VK_LEFT

37

Left Arrow

VK_UP

38

Up Arrow

VK_RIGHT

39

Right Arrow

VK_DOWN

40

Down Arrow

VK_SELECT

41

Select

VK_PRINT

42

Print

VK_EXECUTE

43

Execute

VK_SNAPSHOT

44

Snapshot

VK_INSERT

45

Insert

VK_DELETE

46

Delete

VK_HELP

47

Help

-

48

0

49

1

50

2

51

3

52

4

53

5

54

6

55

7

56

8

57

9

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

VK_LWIN

91

左WIN键

VK_RWIN

92

右WIN键

VK_APPS

93

应用程序键

VK_SLEEP

95

睡眠键

VK_NUMPAD0

96

小键盘 0

VK_NUMPAD1

97

小键盘 1

VK_NUMPAD2

98

小键盘 2

VK_NUMPAD3

99

小键盘 3

VK_NUMPAD4

100

小键盘 4

VK_NUMPAD5

101

小键盘 5

VK_NUMPAD6

102

小键盘 6

VK_NUMPAD7

103

小键盘 7

VK_NUMPAD8

104

小键盘 8

VK_NUMPAD9

105

小键盘 9

VK_MULTIPLY

106

小键盘 *

VK_ADD

107

小键盘 +

VK_SEPARATOR

108

小键盘 Enter

VK_SUBTRACT

109

小键盘 -

VK_DECIMAL

110

小键盘 .

VK_DIVIDE

111

小键盘 /

VK_F1

112

F1

VK_F2

113

F2

VK_F3

114

F3

VK_F4

115

F4

VK_F5

116

F5

VK_F6

117

F6

VK_F7

118

F7

VK_F8

119

F8

VK_F9

120

F9

VK_F10

121

F10

VK_F11

122

F11

VK_F12

123

F12

VK_F13

124

-

VK_F14

125

VK_F15

126

VK_F16

127

VK_F17

128

VK_F18

129

VK_F19

130

VK_F20

131

VK_F21

132

VK_F22

133

VK_F23

134

VK_F24

135

VK_NUMLOCK

144

Num Lock

VK_SCROLL

145

Scroll

VK_LSHIFT

160

左shift

VK_RSHIFT

161

右shift

VK_LCONTROL

162

-

VK_RCONTROL

163

VK_LMENU

164

VK_RMENU

165

VK_BROWSER_BACK

166

VK_BROWSER_FORWARD

167

VK_BROWSER_REFRESH

168

VK_BROWSER_STOP

169

VK_BROWSER_SEARCH

170

VK_BROWSER_FAVORITES

171

VK_BROWSER_HOME

172

VK_VOLUME_MUTE

173

VolumeMute

VK_VOLUME_DOWN

174

VolumeDown

VK_VOLUME_UP

175

VolumeUp

VK_MEDIA_NEXT_TRACK

176

-

VK_MEDIA_PREV_TRACK

177

VK_MEDIA_STOP

178

VK_MEDIA_PLAY_PAUSE

179

VK_LAUNCH_MAIL

180

VK_LAUNCH_MEDIA_SELECT

181

VK_LAUNCH_APP1

182

VK_LAUNCH_APP2

183

VK_OEM_1

186

; :

VK_OEM_PLUS

187

= +

VK_OEM_COMMA

188

,

VK_OEM_MINUS

189

- _

VK_OEM_PERIOD

190

.

VK_OEM_2

191

/ ?

VK_OEM_3

192

` ~

VK_OEM_4

219

[ {

VK_OEM_5

220

\ |

VK_OEM_6

221

] }

VK_OEM_7

222

' "

VK_OEM_8

223

-

VK_OEM_102

226

VK_PACKET

231

VK_PROCESSKEY

229

VK_ATTN

246

VK_CRSEL

247

VK_EXSEL

248

VK_EREOF

249

VK_PLAY

250

VK_ZOOM

251

VK_NONAME

252

VK_PA1

253

VK_OEM_CLEAR

254

3.模拟鼠标

import win32con
import win32api
import time

win32api.SetCursorPos([30, 30])  # 设置鼠标位置
time.sleep(0.1)

# 两次鼠标左键 = 双击
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)  
# 鼠标左键 # 剩下四个参数都设定为 0
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
time.sleep(0.1)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

# 一次鼠标右键
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)  
# 右键 RIGHT # 中键是 MIDDLE
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)

end

  • 28
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值