监听鼠标操作事件+监听键盘操作事件+复原操作(pynput)操作windows

2024-01-12 02:20

本文主要是介绍监听鼠标操作事件+监听键盘操作事件+复原操作(pynput)操作windows,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、监听鼠标


from pynput import mouseif __name__ == '__main__':def on_move(x, y):print('Mouse moved to ({}, {})'.format(x, y))def on_click(x, y, button, pressed):# "Pressed"表示鼠标按键被按下# "Released"表示鼠标释放action = 'Pressed' if pressed else 'Released'print('{} at ({}, {}) with {}'.format(action, x, y, button))def on_scroll(x, y, dx, dy):print('Scrolled at ({}, {}) with delta ({}, {})'.format(x, y, dx, dy))# 创建监听器对象mouse_listener = mouse.Listener(on_move=on_move,on_click=on_click,on_scroll=on_scroll)# 启动监听器mouse_listener.start()# 阻塞主线程,保持监听 也可以使用 time.sleep(5)mouse_listener.join()#mouse_listener.stop() 为停止

二、监听键盘

from pynput import keyboard# 全局变量,用于控制监听器是否继续运行
running = Truedef on_press(key):try:print('Key {} pressed.'.format(key.char))except AttributeError:print('Special key {} pressed.'.format(key))def on_release(key):print('Key {} released.'.format(key))if key == keyboard.Key.esc:# 如果按下了Esc键,停止监听global runningrunning = Falsereturn False# 创建监听器对象
keyboard_listener = keyboard.Listener(on_press=on_press,on_release=on_release
)# 启动监听器
keyboard_listener.start()# 阻塞主线程 或者睡眠几秒 或者循环 while running: pass
keyboard_listener.join()# 停止监听器
#keyboard_listener.stop()

三、还原操作

这里由于之前监听都监听过了那么还原只需要用把监听到的操作用不同类型记录下来就行

举个例子

在这里插入图片描述
在这里插入图片描述

1、鼠标移动

from pynput import mouse# 获取当前鼠标位置
current_position = mouse.Controller().position# 移动鼠标到新的位置
new_position = (0, 0)
mouse.Controller().position = new_position

2、点击事件&&鼠标按住不松和松开

import time
from pynput.mouse import Button, Controller# 鼠标控制器
mouse = Controller()# 右击; 
mouse.click(Button.right, 1)
#说明:可以控制点击次数,这里1次。# 按下和释放右键 === 等价于:右击
mouse.press(Button.right)
mouse.release(Button.right)# 双击左键
mouse.click(Button.left, 2)
#说明:可以控制点击次数,双击这里传入2次。

3、鼠标滚轮滚动

import time
from pynput.mouse import Button, Controller# 鼠标控制器
mouse = Controller()# 滚动鼠标滚轮
# mouse.scroll(x, y)
# 说明:Mac电脑,y>0,向上滚动内容。y<0,向下滚动内容

4、键盘事件

from pynput import keyboard
# 输入正常的内容输入的内容
keyboard.Controller().type("输入的内容")# 按下  可输入文字 但是我这边尝试未能一直按住建议换成其他操作包完成按下松开
keyboard.Controller().press(keyboard.Key.enter)
# 释放
keyboard.Controller().release(keyboard.Key.enter)

这篇关于监听鼠标操作事件+监听键盘操作事件+复原操作(pynput)操作windows的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/596500

相关文章

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Python内存管理机制之垃圾回收与引用计数操作全过程

《Python内存管理机制之垃圾回收与引用计数操作全过程》SQLAlchemy是Python中最流行的ORM(对象关系映射)框架之一,它提供了高效且灵活的数据库操作方式,本文将介绍如何使用SQLAlc... 目录安装核心概念连接数据库定义数据模型创建数据库表基本CRUD操作创建数据读取数据更新数据删除数据查

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的

PyQt6 键盘事件处理的实现及实例代码

《PyQt6键盘事件处理的实现及实例代码》本文主要介绍了PyQt6键盘事件处理的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录一、键盘事件处理详解1、核心事件处理器2、事件对象 QKeyEvent3、修饰键处理(1)、修饰键类

Java 字符串操作之contains 和 substring 方法最佳实践与常见问题

《Java字符串操作之contains和substring方法最佳实践与常见问题》本文给大家详细介绍Java字符串操作之contains和substring方法最佳实践与常见问题,本文结合实例... 目录一、contains 方法详解1. 方法定义与语法2. 底层实现原理3. 使用示例4. 注意事项二、su

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方