#python #python_3x #hook
Написал что-то на подобие простого кейлоггера, но столкнулся с проблемой: Программа вылетает как только перехожу в другое окно, в названии или пути которого есть кириллица С ошибкой F:\Programs\Python36\python.exe F:/Files/MyProjects/KLPy/main.py TypeError: KeyboardSwitch() missing 8 required positional arguments: 'msg', 'vk_code', 'scan_code', 'ascii', 'flags', 'time', 'hwnd', and 'win_name' Process finished with exit code -1073740771 (0xC000041D) Код программы def OnKeyboardEvent(event): data = str(event.Key) f = open('Logfile.txt', 'a') f.write(data) f.close() hook = pyHook.HookManager() hook.KeyDown = OnKeyboardEvent hook.HookKeyboard() pythoncom.PumpMessages() Как это пофиксить?
Ответы
Ответ 1
В pyHook не используется Unicode. В его форке pyhook_py3k добавлена поддержка Unicode. Поддержка Unicode выполнена в файле cpyHook.i, который в бинарной сборке скомпилирован в _cpyHook.xxx.pyd, поэтому так просто его не изменить. Варианты решения проблемы: скомпилировать pyhook_py3k под Ваши нужды; использовать Pywinauto (пример установки хуков на клавиатуру)
Комментариев нет:
Отправить комментарий