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 13 Python
Python列出一个文件夹及其子目录的所有文件
Jun 30 Python
python写入已存在的excel数据实例
May 03 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
Python实现的多叉树寻找最短路径算法示例
Jul 30 Python
Python+OpenCV实现图像融合的原理及代码
Dec 03 Python
python tkinter图形界面代码统计工具
Sep 18 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
Jan 06 Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 Python
python 调整图片亮度的示例
Dec 03 Python
opencv读取视频并保存图像的方法
Jun 04 Python
python之基数排序的实现
Jul 26 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+Mysql树型结构(无限分类)数据库设计的2种方式实例
2014/07/15 PHP
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
js实现加载页面就自动触发超链接的示例
2017/08/31 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
Python实现的快速排序算法详解
2017/08/01 Python
Python在不同目录下导入模块的实现方法
2017/10/27 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
python使用pygame模块实现坦克大战游戏
2020/03/25 Python
kali中python版本的切换方法
2019/07/11 Python
python3获取url文件大小示例代码
2019/09/18 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
Python退出时强制运行一段代码的实现方法
2020/04/29 Python
Python之Sklearn使用入门教程
2021/02/19 Python
历史专业毕业生的自我鉴定
2013/11/15 职场文书
2014年元旦活动方案
2014/02/15 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
物业保安员岗位职责
2014/03/14 职场文书
教室标语大全
2014/06/21 职场文书
我为党旗添光彩演讲稿
2014/09/10 职场文书
高中生学习计划书
2014/09/15 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
2015年度企业工作总结
2015/05/21 职场文书
观后感的写法
2015/06/19 职场文书
JavaScript异步操作中串行和并行
2021/11/20 Javascript