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模块学习 filecmp 文件比较
Aug 27 Python
python在命令行下使用google翻译(带语音)
Jan 16 Python
用实例分析Python中method的参数传递过程
Apr 02 Python
Python实现查找系统盘中需要找的字符
Jul 14 Python
Python文本特征抽取与向量化算法学习
Dec 22 Python
python实现类之间的方法互相调用
Apr 29 Python
djang常用查询SQL语句的使用代码
Feb 15 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
Aug 20 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
Apr 01 Python
python上传时包含boundary时的解决方法
Apr 08 Python
Python  word实现读取及导出代码解析
Jul 09 Python
解决python3输入的坑——input()
Dec 05 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扩展CURL的用法详解
2014/06/20 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
TextArea 控件的最大长度问题(js json)
2009/12/16 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
详解JS去重及字符串奇数位小写转大写
2016/12/29 Javascript
详解Vue使用命令行搭建单页面应用
2017/05/24 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
layui将table转化表单显示的方法(即table.render转为表单展示)
2019/09/24 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
python MysqlDb模块安装及其使用详解
2018/02/23 Python
Python Learning 列表的更多操作及示例代码
2018/08/22 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
浅谈python 类方法/静态方法
2020/09/18 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
Python修改DBF文件指定列
2020/12/19 Python
大学生职业生涯规划范文
2014/01/22 职场文书
乡村卫生服务一体化管理实施方案
2014/03/30 职场文书
产品销售计划书
2014/05/04 职场文书
学习型班组申报材料
2014/05/31 职场文书
企业安全生产标语
2014/06/06 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
消防安全宣传口号
2014/06/10 职场文书
中文专业求职信
2014/06/20 职场文书
学生吸烟检讨书
2014/09/14 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
上班迟到检讨书
2015/05/06 职场文书
实例详解Python的进程,线程和协程
2022/03/13 Python
Go web入门Go pongo2模板引擎
2022/05/20 Golang