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实现给qq邮箱发送邮件的方法
May 28 Python
Python进阶篇之字典操作总结
Nov 16 Python
python 矩阵增加一行或一列的实例
Apr 04 Python
实用自动化运维Python脚本分享
Jun 04 Python
对json字符串与python字符串的不同之处详解
Dec 19 Python
python实现词法分析器
Jan 31 Python
python频繁写入文件时提速的方法
Jun 26 Python
使用WingPro 7 设置Python路径的方法
Jul 24 Python
python文档字符串(函数使用说明)使用详解
Jul 30 Python
keras 自定义loss model.add_loss的使用详解
Jun 22 Python
为什么说python更适合树莓派编程
Jul 20 Python
python tkinter实现定时关机
Apr 21 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
php生成QRcode实例
2014/09/22 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
JavaScript中使用正则匹配多条,且获取每条中的分组数据
2010/11/30 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
2015/04/12 Javascript
深入讲解AngularJS中的自定义指令的使用
2015/06/18 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
2019/04/09 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
2019/09/28 Javascript
python基础教程之缩进介绍
2014/08/29 Python
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
使用Python对Excel进行读写操作
2017/03/30 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
Python threading的使用方法解析
2019/08/28 Python
Python调用graphviz绘制结构化图形网络示例
2019/11/22 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
Python extract及contains方法代码实例
2020/09/11 Python
python如何构建mock接口服务
2021/01/28 Python
西班牙语在线票务市场:SuperBoletería
2019/06/10 全球购物
你常见到的runtime exception
2016/09/05 面试题
同学会邀请书大全
2014/01/12 职场文书
运动会领导邀请函
2014/02/05 职场文书
学生请假条格式
2014/04/11 职场文书
个人安全生产承诺书
2014/05/22 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
SQL之各种join小结详细讲解
2021/08/04 MySQL
Python字符串常规操作小结
2022/04/03 Python