python - 跟踪自上次击键以来的时间?

标签 python keylogger

这是我目前完成的键盘记录器。我之前已经发布过这个问题,但我自己真的很难重复。 On_press 和 On_release 是这里面的两个主要函数。他们都跟踪一次击键。我需要跟踪两次击键之间的时间,但我不确定如何完成这项工作。我想我可以跟踪以查看字符串附加之间的时间。我需要能够看到击键之间的时间,因为如果时间超过一定时间(十秒),我希望清除包含击键(键)的字符串。谢谢大家!

import pynput
import time 
import os, sys
from pynput.keyboard import Key, Listener
import psutil 

count = 0
keys = []

if (time.time() - lastKeystroke > 10):
   keys =[]

def on_press(key):
    global keys, count
    
    keys.append(str(key).replace("'",'').replace("Key.space", ' ').replace("Key.shift", "").lower())

    print(keys)

    count += 1
def on_release(key):
    if key == Key.esc:
        return False

lastKeystroke = time.time()

with Listener(on_press, on_release =on_release) as listener:
    listener.join()

最佳答案

这是获取任意两个按键之间的时间间隔的最小示例。

开始时它设置 previous_timetime.time() 当我按下键时它得到 current_time 并与 比较previous_time 在第一次按下之前查看时间。稍后它会将 current_time 保留在 previous_time 中,以便在我按下 next 键时再次计算它。

from pynput.keyboard import Key, Listener
import time

# --- functions ---

def on_press(key):
    global previous_time

    # get current time and calculate time between two pressed keys
    current_time = time.time()
    diff_time = current_time - previous_time

    print('seconds:', diff_time)
    
    # save current time for next calculation
    previous_time = current_time
    
    # use this value for something
    if diff_time > 10:
         print("Too late!")

def on_release(key):
    if key == Key.esc:
        return False

# --- main ---

previous_time = time.time() # value as start

with Listener(on_press=on_press, on_release=on_release) as listener:
    listener.join()

关于python - 跟踪自上次击键以来的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62807188/

相关文章:

keylogger - 有没有办法检测一个关键的记录软件?

python - 如何使 pynput.keyboard 作为线程运行?

java - 什么是 "hook"以及如何用 Java 编写一个?以及如何与内核通信以了解用户按下的键/向操作系统注册

python - 使用 Python 进行合并排序

python - 如何在python列表中找到最相似的单词

python - 在 IPython Notebook 中自动运行 %matplotlib inline

c# - C# 中类似键盘记录器的应用程序,用于记录应用程序开始和结束的时间戳

python - OpenCV Python dlib 构建轮 (setup.py)

python - 从字符串列表中删除短于 k 的字符串

c# - 后台读取用户按下的键的应用程序