python实现简易键盘监听

2024-08-31 10:01:59 浏览数 (1)

环境准备

本地安装mysqlpython环境

该脚本有助于练习MySQL基本操作以及有助于理解keyboard库基本操作

代码实现

代码语言:python代码运行次数:0复制
import keyboard
import pymysql
import datetime

#TODO 设置数据库相关参数
conn = pymysql.connect(
    host = 'localhost',
    port = 3306,
    user = 'root',
    password = '123456',
    database = 'test'
)
cursor = conn.cursor()

#TODO 建表
cursor.execute('''
    CREATE TABLE IF NOT EXISTS key_logs (
        id INT AUTO_INCREMENT PRIMARY KEY,
        key_name VARCHAR(255),
        event_type VARCHAR(10),
        event_time DATETIME
    )
''')
conn.commit()

#TODO 监听按下的行为
def on_key_press(event):
    key_name = event.name
    event_type = "按下"
    event_time = datetime.datetime.now()

    cursor.execute('''
        INSERT INTO key_logs (key_name, event_type, event_time)
        VALUES (%s, %s, %s)
    ''', (key_name, event_type, event_time))
    conn.commit()

#TODO 监听释放的行为
def on_key_release(event):
    key_name = event.name
    event_type = "释放"
    event_time = datetime.datetime.now()

    cursor.execute('''
        INSERT INTO key_logs (key_name, event_type, event_time)
        VALUES (%s, %s, %s)
    ''', (key_name , event_type , event_time))
    conn.commit()

keyboard.on_press(on_key_press)
keyboard.on_release(on_key_release)

#TODO 按下esc结束监听
keyboard.wait('esc')

conn.close()

实现结果

数据库查看

0 人点赞