Найти - Пользователи
Полная версия: Направление горячих клавиш конкретному окну (программе)
Начало » Python для новичков » Направление горячих клавиш конкретному окну (программе)
1
Sama
Добрый день, уважаемые форумчане.
Прошу помочь не с написанием готового, а с указанием направления, чтобы я сам все с пониманием сделал.
Задача следующая: написать скрипт для windows, который будет висеть фоном и по нажатию заданных сочетаний клавиш будет направлять их только конкретному окну (программе) вне зависимости от того, в фокусе данное окно (программа) или нет. Выбирать предположительно буду по id процесса, т.к. это единственный уникальный идентификатор.
На данный момент я примерно представляю логику моего скрипта следующим образом:
1) при запуске скрипта в цикле ‘while true’ будeт с низкой задержкой отлавливаться нажатия клавиш до тех пор, пока не будет получено совпадение с заданными в скрипте (если все нажатия будут отлавливаться, как это скажется на нагрузке системы и работы других программ с хоткеями?),
2) при наличии совпадения нажатое сочетание клавиш будет передаваться заданной по pid программе.
Вопрос в том, какие модули для python позволят отследить эти нажатия (кейлоггер получается?), а какие - транслировать их определенному окну.
Буду благодарен за любую помощь.

P.S. python 3.7, windows 10.
PEHDOM
Sama
1) при запуске скрипта в цикле ‘while true’ будeт с низкой задержкой отлавливаться нажатия клавиш до тех пор, пока не будет получено совпадение с заданными в скрипте
Если уж нужно онли под венду то почему не использовать хуки?
http://rsdn.org/article/baseserv/winhooks.xml
https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setwindowshookexa
они собсна для того и придуманы, чтобы не висело в памяти туева хуча приложений бесконечно опрашивающих состояние клавиатуры..

Sama
Вопрос в том, какие модули для python позволят отследить эти нажатия (кейлоггер получается?)
ну например keboard https://pypi.org/project/keyboard/ хотя на самом деле их(модулей для перехвата хоткеев) более чем дохрена для пайтона, можете выбирать любой, а можете написать свой с преферансом и стюардесами

Sama
какие - транслировать их определенному окну.
ну можно использовать ВинАПИ , у него для этого есть достаточно много функций для этого
SendInput , keybd_event, SendMessage , PostMessage…



This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB