Чи є спосіб отримати список загальносистемних комбінацій клавіш, які зараз використовуються?


10

Чи є спосіб отримати список загальносистемних комбінацій клавіш, які зараз використовуються, включаючи до яких програм вони додані?

Я помітив, що одні несподівано переважають інших, і пара таємничо пов'язана чимось на моєму головному комп’ютері.


1
@paradroid Мабуть, не в усьому світі. Вони можуть зберігатися (принаймні ... мені може бути пропущена певна можливість) Windows, спеціальною програмою, виготовленою постачальником ПК, або навіть у normal.dot для Word. Це дійсно залежить від того, що це за ярлик. Опублікуйте більше про те, що відбувається, і, можливо, я можу допомогти.
KCotreau

@KCotreau: Це швидше загальне питання, ніж щось конкретне, оскільки я часто стикаюся з цією проблемою, оскільки у мене є багато програмного забезпечення, яке використовує комбінації клавіш, і я додаю своє. Наприклад, на даний момент програма індексації, з якою я працював (Tabbles), замінила ярлик клавіатури підключення для емулятора терміналу SecureCRT. Це було легко з'ясувати, але це було несподівано. Крім того, я намагаюся встановити гарячу клавішу для ClipX як WinKey + V, що я зазвичай використовую, але щось сприйняло це на цій машині, і я не знаю, що це таке.
парадороїд

@paradroid Зрозумів.
KCotreau

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

@Shinrai: Але операційна система, очевидно, знає, які клавіші швидкого використання клавіатури використовуються та які програми до них додаються.
парадороїд

Відповіді:


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.