Я нашел эту библиотеку: https://pypi.org/project/pyWinhook/. Эта библиотека является расширением другой известной библиотеки под названием PyHook. Я очень активно использую первую библиотеку для своего личного проекта, но я бы хотел добавить в нее некоторые расширения или код.
На сайте pyWinhook, в разделе скачать файлы, я нашел исходный код. Когда я открыл его, есть разные файлы, один из которых - HookManager.py. Этот файл имеет различные функции, которые я хотел бы изменить.
Чтобы проиллюстрировать, что я хочу, ниже вы увидите извлечение одной функции, которую я хочу изменить, в данном случае KeyboardSwitch. В этой функции я добавлю некоторые к коду, чтобы получить больше информации в качестве параметров. Однако я не вижу, как эта библиотека получает эти аргументы, чтобы добавить, например, переменную, которая показывает мне, какое поле было набрано пользователем, и другую полезную информацию.
def KeyboardSwitch(self, msg, vk_code, scan_code, ascii, flags, time, hwnd, win_name):
'''
Passes a keyboard event on to the appropriate handler if one is registered.
@param msg: Message value
@type msg: integer
@param vk_code: The virtual keycode of the key
@type vk_code: integer
@param scan_code: The scan code of the key
@type scan_code: integer
@param ascii: ASCII numeric value for the key if available
@type ascii: integer
@param flags: Flags associated with the key event (injected or not, extended key, etc.)
@type flags: integer
@param time: Time since the epoch of the key event
@type time: integer
@param hwnd: Window handle of the foreground window at the time of the event
@type hwnd: integer
'''
event = KeyboardEvent(msg, vk_code, scan_code, ascii, flags, time, hwnd, win_name)
func = self.keyboard_funcs.get(msg)
Я прочитал, что оригинальный Pyhook - это C библиотека. Я раньше не работал с этим делом, поэтому я не знаю, как я могу изменить эту библиотеку для своих целей.
У меня нет достаточного опыта в этом, поэтому я очень благодарен, если вы можете объяснить мне с некоторыми детали, потому что я новичок в этом топи c.