Python 实现键盘鼠标按键模拟


Posted in Python onNovember 18, 2020

有时候我们需要使用python执行一些脚本,可能需要让程序自动按键或自动点击鼠标,下面的代码实现了对键盘的模拟按键,

需要安装pypiwin32,当然也可以直接用ctypes来实现。

pip install pypiwin32

安装pypiwin32。

键盘模拟

# coding=utf-8
import win32con
import win32api
import time
key_map = {
    "0": 49, "1": 50, "2": 51, "3": 52, "4": 53, "5": 54, "6": 55, "7": 56, "8": 57, "9": 58,
    "A": 65, "B": 66, "C": 67, "D": 68, "E": 69, "F": 70, "G": 71, "H": 72, "I": 73, "J": 74,
    "K": 75, "L": 76, "M": 77, "N": 78, "O": 79, "P": 80, "Q": 81, "R": 82, "S": 83, "T": 84,
    "U": 85, "V": 86, "W": 87, "X": 88, "Y": 89, "Z": 90
}
 
 
def key_down(key):
    """
    函数功能:按下按键
    参    数:key:按键值
    """
    key = key.upper()
    vk_code = key_map[key]
    win32api.keybd_event(vk_code,win32api.MapVirtualKey(vk_code,0),0,0)
 
 
def key_up(key):
    """
    函数功能:抬起按键
    参    数:key:按键值
    """
    key = key.upper()
    vk_code = key_map[key]
    win32api.keybd_event(vk_code, win32api.MapVirtualKey(vk_code, 0), win32con.KEYEVENTF_KEYUP, 0)
 
 
def key_press(key):
    """
    函数功能:点击按键(按下并抬起)
    参    数:key:按键值
    """
    key_down(key)
    time.sleep(0.02)
    key_up(key)

鼠标模拟

# coding=utf-8
import win32api
import win32con
import win32gui


def move(x, y):
  """
  函数功能:移动鼠标到指定位置
  参  数:x:x坐标
       y:y坐标
  """
  win32api.SetCursorPos((x, y))


def get_cur_pos():
  """
  函数功能:获取当前鼠标坐标
  """
  p={"x":0,"y":0}
  pos = win32gui.GetCursorPos()
  p['x']=pos[0]
  p['y']=pos[1]
  return p


def left_click():
  """
  函数功能:鼠标左键点击
  """
  win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN | win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)


def right_click():
  """
  函数功能:鼠标右键点击
  """
  win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN | win32con.MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)


def left_down():
  """
  函数功能:鼠标左键按下
  """
  win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)


def left_up():
  """
  函数功能:鼠标左键抬起
  """
  win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)


def right_down():
  """
  函数功能:鼠标右键按下
  """
  win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)


def right_up():
  """
  函数功能:鼠标右键抬起
  """
  win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)

以上就是Python 实现键盘按键模拟的详细内容,更多关于Python 键盘按键模拟的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python中获取对象信息的方法
Apr 27 Python
python计算时间差的方法
May 20 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
Apr 18 Python
Python编程之string相关操作实例详解
Jul 22 Python
Python使用sorted排序的方法小结
Jul 28 Python
python使用tkinter实现简单计算器
Jan 30 Python
python利用pandas将excel文件转换为txt文件的方法
Oct 23 Python
Python设计模式之外观模式实例详解
Jan 17 Python
django页面跳转问题及注意事项
Jul 18 Python
使用Python实现Wake On Lan远程开机功能
Jan 22 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
May 20 Python
Python 实现一个简单的web服务器
Jan 03 Python
如何向scrapy中的spider传递参数的几种方法
Nov 18 #Python
python更新数据库中某个字段的数据(方法详解)
Nov 18 #Python
Python下载的11种姿势(小结)
Nov 18 #Python
Python监听键盘和鼠标事件的示例代码
Nov 18 #Python
Opencv python 图片生成视频的方法示例
Nov 18 #Python
calendar在python3时间中常用函数举例详解
Nov 18 #Python
Python 远程开关机的方法
Nov 18 #Python
You might like
深入apache配置文件httpd.conf的部分参数说明
2013/06/28 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
thinkPHP中session()方法用法详解
2016/12/08 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
js切换div css注意的细节
2012/12/10 Javascript
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
JavaScript学习笔记之Cookie对象
2015/01/22 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
小程序云开发初探(小结)
2018/10/24 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
Python中使用partial改变方法默认参数实例
2015/04/28 Python
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
python使用psutil模块获取系统状态
2016/08/27 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
python在非root权限下的安装方法
2018/01/23 Python
利用Opencv中Houghline方法实现直线检测
2018/02/11 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
2019/02/26 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
Python进度条的制作代码实例
2019/08/31 Python
Python实现队列的方法示例小结【数组,链表】
2020/02/22 Python
澳大利亚新奇小玩意网站:Yellow Octopus
2017/12/28 全球购物
jurlique茱莉蔻英国官网:澳洲天然护肤品
2018/08/03 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
2014自主招生自荐信策略
2014/01/27 职场文书
丑小鸭教学反思
2014/02/03 职场文书
安全目标管理责任书
2014/07/25 职场文书
2014乡镇干部对照检查材料思想汇报
2014/09/26 职场文书
写给老婆的保证书
2015/02/27 职场文书
高中生综合素质评价范文
2015/08/18 职场文书