【发布时间】:2017-02-03 12:02:12
【问题描述】:
我创建了一个简单的键盘记录程序。在键盘上键入的所有内容都会发送到 log.txt 文件。问题是我的代码仅适用于 ASCII 代码。 当我输入希腊字符时,它们被视为英文。
我希望我的代码:
- 也接受希腊字符或其他语言(通常是所有类型的字符)
- 记录 Alt、Ctrl 等事件
到目前为止我的代码:
import pyHook , pythoncom , sys , logging , os
file_log = "C:\\Users\\admin\\Desktop\\New folder\\log.txt"
f = open(file_log , 'w')
try:
f.seek(0)
f.truncate()
finally:
f.close()
def OnKeyboardEvent(event):
logging.basicConfig(filename=file_log,level = logging.DEBUG , format='%(message)s')
chr(event.Ascii)
logging.log(10,chr(event.Ascii))
key = chr(event.Ascii)
print key
if (key == 'p'):
os.startfile("C:\\Users\\admin\\Desktop\\New folder\\log.txt")
sys.exit()
return True
hooks_manager = pyHook.HookManager()
hooks_manager.KeyDown = OnKeyboardEvent
hooks_manager.HookKeyboard()
pythoncom.PumpMessages()
我的程序应该接受 Unicode 吗?
它是怎么做到的?
【问题讨论】:
-
你如何测试这个?
-
@RadLexus 我检查了我的 log.txt 文件。我将添加输入希腊字符时遇到的错误
-
我的意思是最后一部分。你如何输入希腊字符?你有希腊键盘驱动程序吗?
-
是的!这是我电脑上的第二语言。我用 shift+alt 切换
标签: python unicode keylogger pyhook pythoncom