Python 模拟发送键盘按键

这篇具有很好参考价值的文章主要介绍了Python 模拟发送键盘按键。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


在rpa项目中,对于一些客户端软件,例如SAP,经常会用到一些快捷键来提高工作效率,或者实现人工点击的操作。开发软件时则是通过封装函数的方式,将传进来的按键或者鼠标的点击通过代码的方式模拟键入某些快捷按键以及鼠标的操作实现该功能。对用户而言,只需通过选择不同的组合键或单个按键则可实现该功能,无需用户写任何代码。

那么这些操作是如何实现的呢?小编根据常用的实现逻辑封装的了两个文件,代码如下文。

实现步骤

1.安装第三方库

需要安装pypiwin32,当然也可以直接用ctypes来实现。文章来源地址https://www.toymoban.com/news/detail-571909.html

pip install pypiwin32 

2.模拟键入键盘按键

# 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)

3.模拟鼠标点击

# 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 模拟发送键盘按键的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python\pyqt5中关于键盘按键的一些内容

    按键值 按键代码 按键内容 16777264 Qt.Key_F1 F1 +1 Qt.Key_F2 +1 Qt.Key_F3 +1 Qt.Key_F4 +1 Qt.Key_F5 +1 Qt.Key_F6 +1 Qt.Key_F7 +1 Qt.Key_F8 +1 Qt.Key_F9 +1 Qt.Key_F10 +1 Qt.Key_F11 16777275 Qt.Key_F12 F12 65 Qt.Key_A A +1 Qt.Key_B B +1 Qt.Key_C C +1 Qt.Key_D D +1 Qt.Key_E E +1 Qt.Key_F F +1 Qt.Key_G G +1 Qt.Key_H H +1 Qt.Key_I I +1 Qt.Key_J J +1 Qt.

    2024年02月09日
    浏览(41)
  • C++ 模拟按下键盘的某个按键

    以下是一段使用C++的Windows API模拟按下向下箭头键的代码: 需要注意的是,这段代码只在Windows平台上有效,且需要包含Windows.h头文件。 keybd_event是Windows API中的一个函数,用于模拟键盘按键事件。它有四个参数: 第一个参数指定要模拟的键码,例如VK_DOWN表示向下箭头键。 第

    2024年02月08日
    浏览(42)
  • STM32。USB HID,如何发送标准键盘的按键报告?

    我们要求STM32芯片的usb和windows电脑的USB接口进行连接,然后STM32芯片发送usb数据给windows电脑,实现电脑上按下一个f按键的效果。 下面开始操作: 使用STM32CubeMX生成代码,先选择对应的usb口 然后选择第三方软件,选择HID 然后点击生成代码,这时候就会生成usbd_hid.c相关的代码

    2024年02月12日
    浏览(47)
  • python模拟鼠标键盘操作

    优点:可以进行简单的重复人为操作,也相当于实现了傻瓜式的自动化 缺点:也很明显,在进行程序运行时,你不能对鼠标和键盘进行使用(不然就会改变鼠标位置和输入内容导致程序报错),所以最好使用一台空闲的电脑。 很多软件打开都需要自己的运行环境,所以需要

    2024年02月11日
    浏览(40)
  • python 模拟鼠标,键盘点击

    https://www.cnblogs.com/tobe-goodlearner/p/tutorial-pynput.html 信息爆炸 可用于抢红包,直播点击爱心,等等需要点击操作的应用场景

    2024年02月11日
    浏览(58)
  • python模拟鼠标和键盘

    使用pymouse,win32api,win32con库,包括windows库和pyHook库,可能会有一些问题,但是都能搜到解决方案,最后附我自用的代码及注释

    2024年02月15日
    浏览(38)
  • 利用python进行键盘模拟输入

    记一次利用python模拟键盘输入,由于键盘中英文切换较为麻烦,所以写了两个小程序分别进行英文字符模拟或中文字符模拟。 在第二个程序中,也可以输入英文字符,但是由于系统键盘中英文的切换问题,当进行英文和中文混合使用时,模拟会出现偏差。

    2024年02月11日
    浏览(33)
  • python 自动化学习(三) 句柄获取、模拟按键、opencv安装

         句柄是在操作系统中的一种标识符,相当于我们每个人的身份证一样,句柄在电脑中也是有唯一性的,我们启动的每一个程序都有自己的句柄号,表示自己的身份     为什么要说句柄,我们如果想做自动化操作时,肯定也不想程序占用了我们整个电脑,稍微操作一下

    2024年02月03日
    浏览(39)
  • Android开发:(AndroidStudio模拟器)如何将模拟器语言设置为中文 && 模拟器输入法更改为中文输入 && 键盘输入中文

    将模拟器语言设置为中文 第一步:打开模拟器后,上滑打开下面的设置图标。 第二步:找到 System (系统) ,点击进入。 第三步:进入后,找到language(语言),点击进入。 第四步:选择 + 添加语言(add) 第五步:滑到最底部,找到中文简体并选中。然后长按中文简体,直到

    2024年02月04日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包