Python 实现键鼠操作

news/2024/11/20 0:46:21/

Python 实现键鼠操作

    • 前言
    • 需要的库
    • 直接上代码
    • 小结

前言

前几天玩的按键精灵由于版本太老,不兼容UTF8编码,就用python来封装了一些键鼠操作。

需要的库

  • time
  • pyautogui
  • OpenCV
  • aircv #Aircv是基于OpenCV的所以需要安装OpenCV和numpy
  • os
  • win32

直接上代码

1.导入库

import time
import pyautogui
import aircv as ac 
import os
import win32gui
import win32con
import win32.win32clipboard as w

2.鼠标模拟

def getmouse():			#得到鼠标当前位置x,y=pyautogui.position()return x,ydef moveto(x,y,movetime=0): #鼠标移动 x,y_移动位置,movetime_移动时间pyautogui.moveTo(x,y,duration=movetime)def click_l():		#当前位置左键单击x,y=pyautogui.position()pyautogui.click(x,y,button="left")def click_r():		#当前位置右键单击x,y=pyautogui.position()pyautogui.click(x,y,button="right")def dbclick_l():	#左键双击pyautogui.doubleClick(button="left")def dbclick_r():	#右键双击pyautogui.doubleClick(button="right")def dbclick_m():	#中键双击pyautogui.doubleClick(button="middle")def mousedown():	#按下pyautogui.mouseDown()def mouseup():	#释放pyautogui.mouseUp()def scroll(sizes=0, x=None, y=None):#滑轮滑动 sizes_int类型,x,y_在x,y滑动位置pyautogui.scroll(sizes, x , y)

3.键盘模拟

def keydown():#按下pyautogui.keyDown()def keyup(): #弹起pyautogui.keyUp()def hotkey(*key):#热键 如ctrl+v _ hotkey("ctrl","v")pyautogui.hotkey(*key)

4.图像查找

##pyautogui自带的图像查找太慢了,识别准确率也不行,自己封装了一个。
def findpic(pic,areas,same=0.7):    #图像查找 pic_识别图片,areas_识别区域,same_相似度 ##不兼容中文路径fpic=ac.imread(pic)             #读取图片img=pyautogui.screenshot(region=areas)  #截屏,可以换其他截屏方式,我电脑PIL不知怎么的用不了,可以试试。img.save("jp.png")jp=ac.imread("jp.png")                  #读取图片result=ac.find_template(jp,fpic,same)   #用aircv识别os.remove("jp.png")                     #删除截屏 if(result!=None):        return result['result'][0],result['result'][1]  #返回图片左上角x,yreturn None

5.其他

def getword(提示=""):  #可以输入的消息弹窗word=pyautogui.prompt(提示)return worddef getscreensize():	#屏幕分辨率x,y=pyautogui.size()return x,ydef windows_findhwnd(cls=None,title=None):#获取顶层窗口句柄 class_类,title_标题hwnd = win32gui.FindWindow(cls, title) return hwnddef windows_Top(hwnd,key=0):##窗口置前 hwnd_窗口句柄,0_置前,1_置后if key==0: #置前 win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL)win32gui.SetForegroundWindow(hwnd)elif key==1: #隐藏win32gui.ShowWindow(hwnd, win32con.SW_HIDE)def windows_moveto(x,y,hwnd):##窗口移动 hwnd_窗口句柄, x,y_移动位置left, top, right, bottom = win32gui.GetWindowRect(hwnd)win32gui.MoveWindow(hwnd,x,y,right-left,bottom-top,True)def hwnd_moveto(x,y,hwnd):##鼠标相对窗口移动 x,y_以窗口右上角为0,0移动位置,hwnd_句柄left, top, right, bottom = win32gui.GetWindowRect(hwnd)pyautogui.moveTo(x+left,y+top)def write(text=""): #写入文字    #原理:设置剪切板,粘贴w.OpenClipboard()w.EmptyClipboard()w.SetClipboardData(win32con.CF_UNICODETEXT, text)w.CloseClipboard()  #设置剪切板pyautogui.hotkey("ctrl","v") #粘贴def windows_setsize(x,y,hwnd): #设置窗口大小 x,y_窗口大小,hwnd_句柄left, top, right, bottom = win32gui.GetWindowRect(hwnd)win32gui.MoveWindow(hwnd,left,top,x,y,True)

小结

该方法可以设置成为一个模块,方便使用。
本人小白一个,如有错误还望指出。
技术不足,导致一些操作只能取巧,如果大家有更好的方法也能告诉我。
如果大家觉得有用,希望大家多多点赞!


http://www.ppmy.cn/news/127769.html

相关文章

PyMouse模拟鼠标键盘操作

PyMouse模拟鼠标键盘操作 使用PyMouse实现模拟鼠标键盘操作-----解决方案11)安装[pyMouse]( https://pypi.org/project/PyMouse/)2)安装[PyHook]( https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook)3)下载[pywin32](https://sourceforge.net/projects/pywin32/) -----解决方…

c++驱动键鼠源码_DD驱动级虚拟键鼠套装

【实例简介】 DD驱动级虚拟键鼠套装是一款真正的驱动级硬件模拟。DD驱动级虚拟键鼠套装一键安装,即为电脑添加一对可完全编程控制的键盘鼠标,轻松自动化操作电脑。适用VB6, DELPHI, VC, BC, VB.NET, C#, JAVA,易语言等各种编程语言。支持 WINXP , WIN2003 , WIN2008 ,…

python集成乐玩插件(后台自动化鼠键)

1.python需要安装32位才行 2.python窗口拖拽设计 需要用到 Python Qt Designer设计工具 首先安装qt库,我是用的是PySide2的qt库 [pip install pyside2]拖拽设计的软件放在 python安装路径\Lib\site-packages\PySide2\designer.exe参考网站:https://www.byhy.net/tut/py/gui/qt…

2台电脑共享一套键鼠方法

共用键鼠,可以通过硬件(对拷线)或软件方法(mouse without border、Synergy等软件)来实现。 一、对拷线 使用对拷线有一个好处,稳定性相对较高,使用简单,不需要进行参数设置&#xf…

python-控制键盘鼠标

1、获取屏幕分辨率 pyautogui.size() 代码如下: import pyautogui width,heightpyautogui.size() #返回宽、高 2、移动鼠标 moveTo():鼠标移动到屏幕的指定位置 代码如下: import pyautogui pyautogui.moveTo(100,100,duration0.25) …

两台电脑共享一套键盘鼠标的神器

实验室有台台式电脑,自己又带了笔记本,现在键盘鼠标是连接在台式机上的,当要使用笔记本的时候再去用笔记本的触摸板是很不习惯,就想找找有没有能什么东西能实现一套键盘鼠标给两台电脑用的,从某宝上搜到的是使用一个有…

【经典】synergy共享鼠标键盘/一套鼠标键盘操作多台电脑

使用场景 用一套鼠标键盘控制两个或多个电脑屏幕所有电脑位于同一局域网下win10 操作系统 安装 synergy step1:下载 下载地址:synergy step2:安装 选择自己想要安装在的目录然后一直 next 最后 finish 即可 step3:破解 安装完成后…

DIY客制化键盘

DIY客制化键盘 注意事项 以下为直男文档,非直男者请勿观看,毕竟,正常人谁送女生机械键盘。 视频链接 https://www.bilibili.com/video/BV1eT4y1K7UL 点开此处观看 1.实操前必修课 1.键盘分类 按照结构分可分为:薄膜键盘 机…