c语言编程笔录

您现在的位置是:首页 > 编程 > 编程经验

编程经验

python驱动级按键Python按键

林玟书 2023-07-11编程经验
什么是驱动级按键?驱动级按键指的是通过Python编写一个驱动程序,来模拟一个虚拟的键盘,以达到对计算机键盘进行模拟操作的效果。importosimportsysimportstructimporttimede

什么是驱动级按键?

驱动级按键指的是通过Python编写一个驱动程序,来模拟一个虚拟的键盘,以达到对计算机键盘进行模拟操作的效果。


import os
import sys
import struct
import time

def write_report(report):
    with open('/dev/hidg0', 'rb+') as f:
        f.write(report.encode())

def press_key(code):
    write_report(struct.pack('BBBBL', 0x01, 0x00, 0x00, code, 0x00))
    time.sleep(0.1)
    write_report(struct.pack('BBBBL', 0x01, 0x00, 0x00, 0x00, 0x00))

if __name__ == '__main__':
    press_key(31)

上述代码演示了如何通过Python编写一个驱动程序,按下码值为31的按键。使用struct.pack函数把字节打包成二进制数据,按键需要用到的数据序列是:0x01, 0x00(Modifier-LeftControl),0x00(Modifier-LeftControl), 0x1f(Keycode-a),0x00(Reserved)

Python按键模块

通过使用Python库pyautogui,我们可以在不编写驱动程序的情况下,对计算机键盘进行模拟操作,实现按下,释放,输入文本等功能。


import pyautogui
pyautogui.press('a')

上述Python代码中,我们使用了pyautogui库中的press函数,实现按下键盘上的a键。在函数内部,会打印出一个键盘事件,并将其传输至操作系统内核。当这个键盘事件被捕捉到并处理完毕时,计算机上的光标位置将被设置为所指向的的窗口,并且回车按键会被按下(除非你另外指定了一种关键字)。

Python键盘监听模块

除了驱动级按键和Python按键模块外,我们还可以使用第三方库keyboard监听计算机键盘事件,实现输入文本,按下键盘等素操作。


import keyboard

def on_press_callback(event):
    print(event.name)
    if event.name == 'q':
        keyboard.unhook_all()

keyboard.on_press(on_press_callback)
keyboard.wait()

上述代码演示了如何使用keyboard库监听计算机键盘按键事件,在用户按下'q'键时,停止监听并退出程序。

自动化模块

自动化是一个非常有用的模块,它允许我们编写代码,控制键盘按键和鼠标移动,可以为我们的工作和日常生活带来极大的便利,例如,自动化操作Excel表格、自动打印文件、自动完成游戏中的任务等。


import automation

def task():
    automation.press('enter')
    automation.press('ctrl')
    automation.press('c')
    automation.press('ctrl', 'alt', 'delete')

task()

上述代码使用了自动化模块automation,实现了按下Enter、Ctrl、C、Ctrl+Alt+Delete等按键操作。

该模块还具有复制、粘贴等功能,可实现创建文件、删除文件、重命名文件等常见的文件操作,可供个人、企业、组织等多种场景使用。

文章评论