Интеграция моей Программы в Windows для замены обработчика по умолчанию для этой конкретной операции - PullRequest
1 голос
/ 13 ноября 2011

Я хочу интегрировать мою программу в Windows таким образом, чтобы, например, когда пользователь нажимал ctrl + shift, или ctrl + v, или любую другую комбинацию клавиш, моя программа должна была работать.Я видел такие программы, как TeraCopy, которые запускаются при нажатии Ctrl-V и обрабатывают операцию копирования вместо проводника Windows (обработчик по умолчанию).

Я знаю, что это можно сделать с помощью Windows SDK, ноЯ не уверен, какой API использовать или с чего начать.Может ли кто-нибудь дать ссылки / ссылки / код для оказания помощи?

1 Ответ

1 голос
/ 13 ноября 2011

Вам необходимо использовать клавиатуру, которая может быть реализована с SetWindowsHookEx и константой WH_KEYBOARD_LL в качестве параметра idHook.

Затем вы можете настроить функцию обратного вызова для каждого нажатия клавиши.состояние меняется.Когда определенная комбинация обнаружена (например, одновременно нажаты клавиши Ctrl и V, но нет других клавиш-модификаторов), вы можете выполнить свое действие.

Имейте в виду, что некоторые программы должны будут сохранять Ctrl + Vдля других целей, поэтому вы, вероятно, захотите использовать GetForegroundWindow, чтобы определить, нацеливается ли Windows Explorer в данный момент.

См. это: http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...