首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >python实现简易键盘监听

python实现简易键盘监听

原创
作者头像
码农GT038527
发布2024-08-31 10:01:59
发布2024-08-31 10:01:59
3170
举报
文章被收录于专栏:脚本脚本

环境准备

本地安装mysqlpython环境

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

代码实现

代码语言:python
复制
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()

实现结果

数据库查看

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境准备
  • 代码实现
  • 实现结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档