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实现的一个火车票转让信息采集器
Jul 09 Python
python结合shell查询google关键词排名的实现代码
Feb 27 Python
Python HTTP客户端自定义Cookie实现实例
Apr 28 Python
python字符串的方法与操作大全
Jan 30 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
python递归全排列实现方法
Aug 18 Python
Python3之不使用第三方变量,实现交换两个变量的值
Jun 26 Python
Python中list的交、并、差集获取方法示例
Aug 01 Python
Django与pyecharts结合的实例代码
May 13 Python
django下创建多个app并设置urls方法
Aug 02 Python
Pycharm连接远程服务器并远程调试的全过程
Jun 24 Python
Python 数据可视化工具 Pyecharts 安装及应用
Apr 20 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脚本的10个技巧(3)
2006/10/09 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
JavaScript DOM 学习第七章 表单的扩展
2010/02/19 Javascript
AeroWindow 基于JQuery的弹出窗口插件
2011/06/27 Javascript
javascript倒计时功能实现代码
2012/06/07 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
逻辑表达式中与或非的用法详解
2016/06/06 Javascript
Bootstrap 布局组件(全)
2016/07/18 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
2017/03/07 Javascript
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
three.js加载obj模型的实例代码
2017/11/10 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
[01:50]WODOTA制作 DOTA2中文宣传片《HERO》
2013/04/28 DOTA
Django1.7+python 2.78+pycharm配置mysql数据库
2016/10/09 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
Python编程二分法实现冒泡算法+快速排序代码示例
2018/01/15 Python
分分钟入门python语言
2018/03/20 Python
pandas 选择某几列的方法
2018/07/03 Python
tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式
2020/01/24 Python
python函数enumerate,operator和Counter使用技巧实例小结
2020/02/22 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
内衣营销方案
2014/03/15 职场文书
安全生产月活动总结
2014/05/04 职场文书
推荐信模板
2014/05/09 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
小学生暑假安全公约
2015/07/14 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python
SONY AN-LP1 短波有源天线放大器图
2022/04/05 无线电