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最长公共子串和最长公共子序列的实现
Jul 07 Python
Python实现的企业粉丝抽奖功能示例
Jul 26 Python
python处理excel绘制雷达图
Oct 18 Python
python的列表List求均值和中位数实例
Mar 03 Python
python中adb有什么功能
Jun 07 Python
为什么python比较流行
Jun 19 Python
如何在向量化NumPy数组上进行移动窗口
May 18 Python
Python自动化之批量处理工作簿和工作表
Jun 03 Python
python之PySide2安装使用及QT Designer UI设计案例教程
Jul 26 Python
使用pipenv管理python虚拟环境的全过程
Sep 25 Python
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
Nov 11 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
基于mysql的论坛(2)
2006/10/09 PHP
ThinkPHP的RBAC(基于角色权限控制)深入解析
2013/06/17 PHP
php获取客户端电脑屏幕参数的方法
2015/01/09 PHP
PHP的全局错误处理详解
2016/04/25 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
Js中sort()方法的用法
2006/11/04 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
2013/05/27 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
JQuery中extend使用介绍
2014/03/13 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
基于Turn.js 实现翻书效果实例解析
2016/06/20 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
Electron中实现大文件上传和断点续传功能
2018/10/28 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
vue-router源码之history类的浅析
2019/05/21 Javascript
微信小程序tab左右滑动切换功能的实现代码
2021/02/08 Javascript
python中argparse模块用法实例详解
2015/06/03 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
Python3如何判断三角形的类型
2020/04/12 Python
Python中logging日志记录到文件及自动分割的操作代码
2020/08/05 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
2020/09/01 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
活动总结怎么写
2014/04/28 职场文书
简历自荐信范文
2015/03/09 职场文书
英语教师求职信范文
2015/03/20 职场文书
售后服务质量承诺书
2015/04/29 职场文书
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python
新手入门Mysql--sql执行过程
2021/06/20 MySQL