Есть ли способ получить список общесистемных сочетаний клавиш, используемых в настоящее время?


10

Есть ли способ получить список общесистемных сочетаний клавиш, используемых в настоящее время, в том числе к каким программам они подключены?

Я заметил, что некоторые неожиданно вытесняют других, и пара таинственно связана с чем-то на моем главном компьютере.


1
@paradroid Вероятно, не во всем мире. Они могут быть сохранены (по крайней мере ... я, возможно, упускаю некоторую возможность) в Windows, в пользовательской программе, сделанной поставщиком ПК, или даже в normal.dot для Word. Это действительно зависит от того, какой это ярлык. Напишите больше о том, что происходит, и, возможно, я могу помочь.
Котро

@KCotreau: Это скорее общий вопрос, чем что-либо конкретное, так как я часто сталкиваюсь с этой проблемой, поскольку у меня много программ, использующих сочетания клавиш, и я добавляю свои собственные. Например, в настоящее время программа индексирования, с которой я экспериментировал (Tabbles), перезаписала сочетание клавиш подключения для эмулятора терминала SecureCRT. Это было легко узнать, но это было неожиданно. Кроме того, я пытаюсь установить горячую клавишу для ClipX как WinKey + V, которую я обычно использую, но что-то взяло это на этой машине, и я не знаю, что это такое.
парадроид

@paradroid Понял тебя.
Котро

Я с @KCotreau - они просто не хранятся где-либо предсказуемым (или иногда вообще хранятся где-нибудь вне запускающего исполняющего файла), поэтому я не могу думать о том, как вы могли бы перечислить их программно. Приложение может попробовать любую возможную комбинацию нажатий клавиш, но оно должно быть очень умным, чтобы затем идентифицировать то, что на самом деле происходит каждый раз, любым способом, который будет удобочитаемым или полезным для человека.
Шинрай

@Shinrai: Но операционная система, очевидно, знает, какие общесистемные сочетания клавиш используются и какие программы к ним подключены.
paradroid

Ответы:


3

К сожалению, в Windows нет централизованного административного способа управления или обнаружения глобальных горячих клавиш. Когда приложение устанавливает для себя глобальную горячую клавишу, оно просто сообщает Windows, что хочет прослушать все события клавиатуры и фильтры, основываясь на том, что оно хочет услышать, как только Windows сообщит об этом.

Другими словами:

  1. Вы включаете глобальные горячие клавиши в приложении (например, Winamp)
  2. Winamp сообщает Windows, что хочет прослушивать общесистемные события клавиатуры через API-интерфейсы Windows (это упрощено, есть некоторые события клавиатуры, которые все еще отфильтрованы от пользовательских программ, некоторые приложения должны установить фильтры, чтобы получить больше деталей)
  3. Когда происходит событие клавиатуры (нажатие клавиши), Windows запускает сообщение для приложения, в котором говорится: «нажата клавиша, вот подробности»
  4. Затем приложение просматривает информацию, предоставляемую Windows, которая обычно включает нажатие клавиши и любые модификаторы (такие как shift, alt, ctrl, клавиша Windows)
  5. В зависимости от того, что интересует приложение и какая клавиша была нажата, приложение выполнит какое-либо действие (например, приостановит воспроизведение песни) или иным образом вернет управление Windows. То есть, если была нажата комбинация клавиш, которая была интересна приложению, оно выполнит соответствующее действие.

Благодаря этому процессу и тому, что приложение обрабатывает нажатия клавиш, вы можете понять, почему для этого нет централизованного администрирования или контроля.

Мой единственный совет - использовать что-то вроде ProcMon или Process Explorer, чтобы наблюдать за тем, что происходит при нажатии интересующей вас комбинации клавиш.


0

Вы можете попробовать HotKeys - он показывает карту ярлыков и позволяет назначать новые. Я не уверен на 100%, но я думаю, что он ограничен комбинациями Win+ something.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.