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的Tornado框架中实现简单的在线代理的教程
May 02 Python
python实现搜索本地文件信息写入文件的方法
Feb 22 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
May 25 Python
Python中死锁的形成示例及死锁情况的防止
Jun 14 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
Jan 05 Python
用Python shell简化开发
Aug 08 Python
几行Python代码爬取3000+上市公司的信息
Jan 24 Python
Python生成器的使用方法和示例代码
Mar 04 Python
Python for循环与range函数的使用详解
Mar 23 Python
python设计微型小说网站(基于Django+Bootstrap框架)
Jul 08 Python
Python K最近邻从原理到实现的方法
Aug 15 Python
python speech模块的使用方法
Sep 09 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 for 循环语句使用方法详细说明
2010/05/09 PHP
详解php的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
JAVASCRIPT 对象的创建与使用
2021/03/09 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
js实现精确到毫秒的倒计时效果
2016/08/05 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
浅谈Vue.use的使用
2018/08/29 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
简介JavaScript错误处理机制
2020/08/04 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
使用python实现BLAST
2018/02/12 Python
Pytorch根据layers的name冻结训练方式
2020/01/06 Python
Python装饰器的应用场景代码总结
2020/04/10 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
印尼在线购买隐形眼镜网站:Lensza.co.id
2019/04/27 全球购物
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
乔迁之喜主持词
2014/03/27 职场文书
我的梦想演讲稿
2014/04/30 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
完整版商业计划书
2014/09/15 职场文书
满月酒邀请函
2015/01/30 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
2022/03/03 Python