Пользователь
- Статус
- Оффлайн
- Регистрация
- 21 Мар 2021
- Сообщения
- 101
- Реакции
- 32
Привет форумчане, недавно столкнулся с проблемой, что некоторые процессы не дают выполнять некоторые WinAPI функции управления мышкой / клавиатуры, а потому мной было предпринято решение написать небольшую, простую и нативную библиотеку для решения данной проблемы.
Проект:
ntnput - Python библиотека, что использует встроенный в язык
1.
2.
За счёт использования скрытых системных вызовов библиотека:
1. Работает быстрее аналогичных
2. Обходит некоторые попытки процесса заблокировать ввод событий клавиатуры / мыши
3. Безопаснее, поскольку обходит WinHooks и прочую лабуду
Реализуемые в библиотеке функции:
Функции мыши:
Функции клавиатуры:
Как установить:
Способ #1 (использовать pip):
Способ #2 (Ручная, локальная установки):
Для этого способа требуется скачать код из
Проект:
Пожалуйста, авторизуйтесь для просмотра ссылки.
, Автор:
Пожалуйста, авторизуйтесь для просмотра ссылки.
ntnput - Python библиотека, что использует встроенный в язык
ctypes
пакет и syscall обертки незадокументированных win32u.dll
функций:1.
NtUserInjectMouseInput
- для взаимодействия с мышкой2.
NtUserInjectKeyboardInput
- для взаимодействия с клавиатуройЗа счёт использования скрытых системных вызовов библиотека:
1. Работает быстрее аналогичных
2. Обходит некоторые попытки процесса заблокировать ввод событий клавиатуры / мыши
3. Безопаснее, поскольку обходит WinHooks и прочую лабуду
Реализуемые в библиотеке функции:
Функции мыши:
mouse_move(x, y)
- двигает мышь относительно текущей позицииmouse_move_to(x, y)
- двигает мышь по абсолютным x, y координатам экранаmouse_click(button <по умол. "left">)
- нажимает кнопку мышиmouse_release(button <по умол. "left">)
- отпускает кнопку мышиmouse_click_and_release(button <по умол. "left">, delay_ms <по умол. 0.0>)
- нажимает кнопку мыши, ждёт задержку, отпускаетФункции клавиатуры:
keyboard_press(key_code)
- нажимает кнопку клавиатурыkeyboard_release(key_code)
- отпускает кнопку клавиатурыkeyboard_press_and_release(key_code, delay_ms <по умол. 0.0>)
- нажимает кнопку клавиатуры, ждёт задержку, отпускаетКак установить:
Способ #1 (использовать pip):
Код:
pip install ntnput
Способ #2 (Ручная, локальная установки):
Для этого способа требуется скачать код из
Пожалуйста, авторизуйтесь для просмотра ссылки.
репозитория, и расположить папку ntnput
в директории проекта:
Последнее редактирование: