win32api.keybd_event

该函数原型:keybd_event(bVk, bScan, dwFlags, dwExtraInfo)

第一个参数:虚拟键码(键盘键码对照表见附录);

第二个参数:硬件扫描码,一般设置为0即可;

第三个参数:函数操作的一个标志位,如果值为KEYEVENTF_EXTENDEDKEY则该键被按下,也可设置为0即可,如果值为KEYEVENTF_KEYUP则该按键被释放;

第四个参数:定义与击键相关的附加的32位值,一般设置为0即可。

例子:

importwin32apiimportwin32con

win32api.keybd_event(13,0,0,0) #enter

win32api.keybd_event(13,0,win32con.KEYEVENTF_KEYUP,0) #释放按键#按下ctrl+s

win32api.keybd_event(0x11, 0, 0, 0)

win32api.keybd_event(0x53, 0, 0, 0)

win32api.keybd_event(0x53, 0, win32con.KEYEVENTF_KEYUP, 0)

win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)

time.sleep(1)#按下回车

win32api.keybd_event(0x0D, 0, 0, 0)

win32api.keybd_event(0x0D, 0, win32con.KEYEVENTF_KEYUP, 0)

time.sleep(1)#按下ctrl+W

win32api.keybd_event(0x11, 0, 0, 0)

win32api.keybd_event(0x57, 0, 0, 0)

win32api.keybd_event(0x57, 0, win32con.KEYEVENTF_KEYUP, 0)

win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)#按下ctrl+a

win32api.keybd_event(0x11, 0, 0, 0)

win32api.keybd_event(0x41, 0, 0, 0)

win32api.keybd_event(0x41, 0, win32con.KEYEVENTF_KEYUP, 0)

win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)

time.sleep(1)#按下ctrl+v

win32api.keybd_event(0x11, 0, 0, 0)

win32api.keybd_event(0x56, 0, 0, 0)

win32api.keybd_event(0x56, 0, win32con.KEYEVENTF_KEYUP, 0)

win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)

time.sleep(1)

更多可参考:http://timgolden.me.uk/pywin32-docs/PyWin32.html

键盘键码对照表:

按键

键码

按键

键码

按键

键码

按键

键码

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

示例2

#coding=utf-8

from selenium importwebdriverimportwin32apiimportwin32conimportwin32clipboardfrom ctypes import *

import time#浏览器打开百度网页

browser =webdriver.Chrome()

browser.maximize_window()

browser.get("https://www.baidu.com/")

time.sleep(2)#获取页面title作为文件名

title =browser.title#设置路径为:当前项目的绝对路径+文件名

path = (os.path.dirname(os.path.realpath(__file__)) + "\\" + title + ".html")#将路径复制到剪切板

win32clipboard.OpenClipboard()

win32clipboard.EmptyClipboard()

win32clipboard.SetClipboardText(path)

win32clipboard.CloseClipboard()#按下ctrl+s

win32api.keybd_event(0x11, 0, 0, 0)

win32api.keybd_event(0x53, 0, 0, 0)

win32api.keybd_event(0x53, 0, win32con.KEYEVENTF_KEYUP, 0)

win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)

time.sleep(1)#鼠标定位输入框并点击

windll.user32.SetCursorPos(700, 510)

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

time.sleep(1)#按下ctrl+a

win32api.keybd_event(0x11, 0, 0, 0)

win32api.keybd_event(0x41, 0, 0, 0)

win32api.keybd_event(0x41, 0, win32con.KEYEVENTF_KEYUP, 0)

win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)

time.sleep(1)#按下ctrl+v

win32api.keybd_event(0x11, 0, 0, 0)

win32api.keybd_event(0x56, 0, 0, 0)

win32api.keybd_event(0x56, 0, win32con.KEYEVENTF_KEYUP, 0)

win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)

time.sleep(1)#按下回车

win32api.keybd_event(0x0D, 0, 0, 0)

win32api.keybd_event(0x0D, 0, win32con.KEYEVENTF_KEYUP, 0)

browser.close()

有个小问题...鼠标定位

windll.user32.SetCursorPos(700, 510)

python win32api键盘_Python win32api.keybd_event模拟键盘输入相关推荐

  1. Python win32api.keybd_event模拟键盘输入

    Python  win32api.keybd_event模拟键盘输入 win32api.keybd_event 该函数原型:keybd_event(bVk, bScan, dwFlags, dwExt ...

  2. C/C++使用keybd_event模拟键盘按键

    1 #include <stdio.h> 2 #include <Windows.h> 3 4 /* 5 设置键盘大小写状态 6 big:为TRUE则切换大写状态,否则切换小写 ...

  3. 【键盘】jQuery+CSS3模拟键盘事件(精)

    jQuery+CSS3模拟键盘事件是一款基于jQuery的模拟键盘事件的应用,键盘上除了功能键,其他键都可以用这款插件来模拟.当你敲击键盘上的键时,这款应用会帮助你获取到这个键的事件,并在页面上的模拟 ...

  4. linux捕获鼠标点击事件文件,linux获得键盘鼠标事件,模拟键盘鼠标按键

    linux中键盘鼠标等输入设备通过input子系统实现设备驱动,驱动程序完成向系统报告输入事件,input子系统完成了文件操作接口 linux/input.h定义了输入事件结构体 api 和 按键定义 ...

  5. python调用键盘_Python直接控制鼠标键盘

    Python直接控制鼠标键盘 之前因为期末的原因已经很久没写博客了,今天博主发现一个好玩的模块PyAutoGUI,借助它可以使用Python脚本直接控制键盘鼠标,感觉可以解决很多无聊的机械运动.这里记 ...

  6. python如何控制鼠标键盘_Python如何控制鼠标键盘

    Python如何控制鼠标键盘 发布时间:2020-12-15 09:14:59 来源:亿速云 阅读:88 作者:小新 这篇文章将为大家详细讲解有关Python如何控制鼠标键盘,小编觉得挺实用的,因此分 ...

  7. python调用系统软键盘_python库 pywinio虚拟键盘使用

    NOTICE: You must have a ps/2 keyboard connected to your PC if you test on win10 or later, otherwise ...

  8. python keyboard库_python库 pywinio虚拟键盘使用

    NOTICE: You must have a ps/2 keyboard connected to your PC if you test on win10 or later, otherwise ...

  9. python键盘监听及模拟键盘输入

    import sys,os from pynput.keyboard import Controller,Key,Listener import datetimedef on_press(key):t ...

  10. python键盘监听及模拟键盘输入keyboard

    # -*- coding: utf-8 -*- """ Created on Sat Jan 12 14:19:56 2019 QQ群:476842922(欢迎加群讨论学 ...

最新文章

  1. 在VS2010下运行Qt程序
  2. MVC命名空间中的~UrlHelper中的Action方法告诉我们方法重载的重要性(路由的统一)...
  3. linux 建立用户kde目录,安装KDE Plasma后,你要做的七件事
  4. Navicat for MySQL的基本使用
  5. C# try catch
  6. PyQt5的笔记(中-1)
  7. STM32开发日记002:KEIL5安装教程
  8. python 正则处理经纬度度分秒转换
  9. HTML是什么?HTML简介
  10. Python学习笔记-基础篇
  11. Euler法解微分方程
  12. 51单片机对直流电机的控制(使用proteus仿真)
  13. 定时任务:数据表设计与实现方案
  14. html里hr标签,HTML hr 标签
  15. .NET Framework 3.5 安装错误:0x800F0906、0x800F081F、0x800F0907
  16. 自然语言处理工具之 HanLP 鸟瞰
  17. Telegram的tdesktop之Windows编译小记
  18. Intellij IDEA 将.java文件识别成文本文档
  19. HR面试程序员,背调其前同事发现他人品差:能力和人品哪个重要?
  20. 6-11 使用函数输出水仙花数 (20 分)

热门文章

  1. 【十次方】十次方项目前期准备
  2. Url重写——伪静态实现
  3. TI 库仑计高级篇之Chemistry 创建
  4. 开关电源入门1-基本原理
  5. DB9串口定义及含义(全)
  6. win10计算机百度云盘,windows10系统中怎样安装百度云盘?
  7. BAT专家详解勒索病毒冲击波:勒索物联网时代的开端
  8. 中国行动成功学创始人李践
  9. 2009年南京生活小结
  10. android imagebutton 点击效果缩小,ImageButton和ZoomButton使用