我正在尝试制作一个记录所有按键的简单程序,而我很难弄清楚如何让它工作。我似乎无法在任何地方找到解决这个问题的方法。
我正在使用pyHook来获取我的键击并且我创建了一个名为OnKeyboardEvent(event)的函数,它应该将事件ascii转换为char并将其转换为文件,但该文件只包含框或者我认为是某种无效字符。经过一段时间的调试后,我发现打印出ascii字符本身而不是转换后的字符仍会输出奇怪的盒子。非常感谢任何有关正在发生的事情的见解。
这些是OnKeyboardEvent函数的重要部分:
def OnKeyboardEvent(event):
if event.Ascii == 5:
sys.exit(0)
if event.Ascii != 0 or 8:
f = open(file, 'r+')
buffer = f.read()
f.close()
f = open(file, 'w')
keylogs = chr(event.Ascii)
print (keylogs)
这是挂钩键盘的部分
hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()
如果与问题有关,我正在运行Windows 10并使用记事本打开文件
答案 0 :(得分:1)
好吧,试试event.KeyID
而不是event.Ascii
。不确定这是否是最佳解决方案,但对我有用。