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 += 1win32api.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 timewin32api.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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/15358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Mac OS下编写第一个Flask代码

在电脑上已经安装了Homebrew,在Homebrew里已经安装了Python。 创建一个新的Flask应用。这里发生了几件事: 创建虚拟环境: 你使用python3 -m venv flask创建了一个名为flask的虚拟环境。激活虚拟环境: 通过运行source flask/bin/ac…

chatgpt线性差值 将直线渐变颜色

color(x)(x-x1)/(x2-x1) 与gpt给出的 这个位置比例可以表示为d/L是概念相同 x-x1是计算当前点距离起点距离,x2-x1是计算长度 例如,如果我们在直线上距离起点A的距离为d,整条直线的长度为L 用数学方式解释 2024/5/25 18:54:30 当我们要在一…

vue+echart :点击趋势图中的某一点或是柱状图,出现弹窗,并传输数据

样式 在趋势图中点击某一个柱状图,出现下面的弹窗 代码实现 主要是在趋势图页面代码中,在初始化趋势图的设置中,添加对趋势图监听的点击方法 drawChart() {const chartData this.chartData;let option {};if (!chartData.xData?.len…

Swift 类和结构体

类和结构体 一、结构体和类对比1、类型定义的语法2、结构体和类的实例3、属性访问4、结构体类型的成员逐一构造器 二、结构体和枚举是值类型三、类是引用类型1、恒等运算符2、指针 结构体和类作为一种通用而又灵活的结构,成为了人们构建代码的基础。你可以使用定义常…

python mp3转mp4工具

成品UI 安装moviepy库 pip install moviepy 转换demo from moviepy.editor import *# 创建一个颜色剪辑,时长与音频相同 audioclip AudioFileClip(r"C:\Users\Administrator\PycharmProjects\pythonProject44\test4\赵照 - 灯塔守望人.mp3") videoclip…

node-nass安装踩坑

编译DSS的前端,用1.1.4编译,没有问题,用1.1.1版本就有问题,一直是node-gyp有问题,怎么也解决了不了。 后来检查发现,是因为要安装node-nass才导致出现node-gyp的问题。 而1.1.4没问题,是因为我…

头歌c语言实验答案

由于头歌C语言实验的具体内容和题目可能随时间变化,我无法直接提供特定实验的完整答案。但我可以基于参考文章中的内容和结构,给出一个通用的回答格式,并结合相关信息进行说明。 通用回答格式 实验名称和描述 实验名称:头歌C语言…

用Python Pygame做的一些好玩的小游戏

有些游戏的代码比较长就不公布了 1.简简单单 1.疯狂的鸡哥 你要准备的图片: 命名为:ji.png 代码: import pygame import random as r pygame.init() pygame.display.set_caption(aaa) pm pygame.display.set_mode((800,600))class Ls(py…

Java进阶学习笔记15——接口概述

认识接口: Java提供了一个关键字Interface,用这个关键字我们可以定义一个特殊的结构:接口。 接口不能创建对象。 注意:接口不能创建对象,接口是用来被类实现(implements)的,实现接口…

中国电子学会(CEIT)2023年05月真题C语言软件编程等级考试三级(含详细解析答案)

中国电子学会(CEIT)考评中心历届真题(含解析答案) C语言软件编程等级考试三级 2023年05月 编程题五道 总分:100分一、找和为K的两个元素(20分) 在一个长度为n (n < 1000)的整数序列中,判断是否存在某两个元素之和为k。 时间限制: 1000 内存限制: 65536 输入 …

基于Spring Boot的高校图书馆管理系统

项目和论文都有企鹅号2583550535 基于Spring Boot的图书馆管理系统||图书管理系统_哔哩哔哩_bilibili 第1章 绪论... 1 1.1 研究背景和意义... 1 1.2 国内外研究现状... 1 第2章 相关技术概述... 2 2.1 后端开发技术... 2 2.1.1 SpringBoot 2 2.1.2 MySQL.. 2 2.1.3 My…

unity中如何插入网页

在Unity中插入自己的网页通常是通过使用Unity的WebGL构建目标和HTML页面来实现的。以下是一些步骤&#xff1a; 构建你的Unity项目为WebGL&#xff1a;在Unity中&#xff0c;选择Build Settings&#xff08;构建设置&#xff09;&#xff0c;将Platform&#xff08;平台&#x…

vr商品全景展示场景编辑软件的优点

3D模型展示网站搭建编辑器以强大的3D编辑引擎和逼真的渲染效果&#xff0c;让您轻松实现模型展示的优化。让用户通过简单的操作&#xff0c;就能满足个人/设计师/商户多样化展示的需求&#xff0c;让您的模型成为独一无二的杰作。 3D模型展示网站搭建编辑器采用国内领先的实时互…

java继承使用细节二

构造器 主类是无参构造器时会默认调用 public graduate() {// TODO Auto-generated constructor stub也就是说我这里要用构造器会直接调用父类。它是默认看不到的 &#xff0c;System.out.println("graduate");} 但当主类是有参构造器如 public father_(int s,doubl…

c语言:将小写字母转换为大写字母

//将小写字母转换为大写字母 #include <stdio.h> #include <ctype.h> int main() { char arr[]"you are low"; int i0; while(arr[i]) { if(islower(arr[i])) { arr[i]arr[i]-32; } i; } printf("%s\n",arr); return 0; }

微调Llama3实现在线搜索引擎和RAG检索增强生成功能

视频中所出现的代码 Tavily SearchRAG 微调Llama3实现在线搜索引擎和RAG检索增强生成功能&#xff01;打造自己的perplexity和GPTs&#xff01;用PDF实现本地知识库_哔哩哔哩_bilibili 一.准备工作 1.安装环境 conda create --name unsloth_env python3.10 conda activate …

周末总结(2024/05/25)

工作 人际关系核心实践&#xff1a; 要学会随时回应别人的善意。执行时间控制在5分钟以内 坚持每天早会打招呼 工作上的要点 现状&#xff08;接受破烂现状&#xff0c;改变状态&#xff09; - 这周使用和执行了生产环境发布流程(2天&#xff09;&#xff0c;2天时间在写Java…

大胆预测:计算机将要回暖

中概财报集体亮眼 虽然最近几天恒指&#xff08;港股&#xff09;稍有回落&#xff0c;但年线仍有 9% 的上涨。 过去三年&#xff0c;恒指分别下跌 14.08%、15.46% 和 13.82%。 而在近期&#xff0c;国内各大互联网都公布了财报&#xff0c;别看各个大厂的作妖不断&#xff0c;…

[前端|vue] v-if 和v-show的区别,为什么功能会类似

v-if 和 v-show 都是 Vue 中用于条件渲染的指令&#xff0c;但它们之间存在几个关键区别&#xff0c;这些区别导致了它们在不同场景下的适用性也有所不同&#xff1a; v-if 的特点&#xff1a; 条件渲染&#xff1a;v-if 是一个动态的条件渲染指令&#xff0c;它会根据表达式的…

dubbo复习:(8)使用sentinel对服务进行降级

一、下载sentinel-dashboard控制台应用并在8080端口启动 二、项目添加springboot 和dubbo相关依赖&#xff08;降级规则并未持久化&#xff0c;如果需要持久化&#xff0c;如果需要持久化降级规则&#xff0c;只需增加nacos相关依赖并在nacos中进行配置&#xff0c;然后配置app…