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中的二维数组的操作方法
May 02 Python
pygame游戏之旅 游戏中添加显示文字
Nov 20 Python
python中使用 xlwt 操作excel的常见方法与问题
Jan 13 Python
python日期相关操作实例小结
Jun 24 Python
关于Python中定制类的比较运算实例
Dec 19 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
Feb 18 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
Feb 18 Python
Python编程快速上手——Excel表格创建乘法表案例分析
Feb 28 Python
Python3.7下安装pyqt5的方法步骤(图文)
May 12 Python
Python叠加矩形框图层2种方法及效果
Jun 18 Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 04 Python
python基于opencv批量生成验证码的示例
Apr 28 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
重置版游戏视频
2020/04/09 魔兽争霸
php 的加密函数 md5,crypt,base64_encode 等使用介绍
2012/04/09 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
使用php验证复选框有效性的示例
2013/11/13 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
2014/01/03 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
2014/11/04 PHP
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
javascript中用星号表示预录入内容的实现代码
2011/01/08 Javascript
javascript中定义私有方法说明(private method)
2014/01/27 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
2014/09/03 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
简单谈谈React中的路由系统
2017/07/25 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
2017/11/10 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
2020/09/14 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
python 默认参数问题的陷阱
2016/02/29 Python
python字符串连接方法分析
2016/04/12 Python
利用python将pdf输出为txt的实例讲解
2018/04/23 Python
numpy向空的二维数组中添加元素的方法
2018/11/01 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
详解查看Python解释器路径的两种方式
2020/10/15 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
2020/12/04 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
经贸日语毕业生自荐信
2013/11/03 职场文书
婚礼证婚人证婚词
2014/01/08 职场文书
创建青年文明号材料
2014/05/09 职场文书
教师党员个人自我剖析材料
2014/09/29 职场文书
商务考察邀请函模板
2015/02/02 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs