Existe alguma maneira de obter uma lista dos atalhos de teclado em todo o sistema atualmente em uso?

10

Existe alguma maneira de obter uma lista dos atalhos de teclado em todo o sistema atualmente em uso, incluindo quais programas eles estão conectados?

Percebi que alguns estão substituindo outros inesperadamente e alguns estão misteriosamente ligados a alguma coisa no meu computador principal.

paradroid
fonte
1
@paradroid Provavelmente não globalmente. Eles podem ser armazenados (pelo menos ... posso estar perdendo alguma possibilidade) pelo Windows, por um programa personalizado feito pelo fornecedor do PC ou mesmo no normal.dot para Word. Realmente depende de que tipo de atalho é. Publique mais sobre o que está acontecendo e talvez eu possa ajudar.
KCotreau
@KCotreau: É mais uma pergunta geral do que qualquer coisa específica, pois muitas vezes encontro esse problema, pois tenho muitos softwares que usam atalhos de teclado e adiciono os meus. Por exemplo, no momento, um programa de indexação com o qual eu tenho experimentado (Tabbles) substituiu o atalho do teclado de conexão do emulador de terminal SecureCRT. Foi fácil descobrir isso, mas foi inesperado. Além disso, estou tentando definir a tecla de atalho para o ClipX como WinKey + V, que é o que costumo usar, mas algo tomou conta dessa máquina e não sei o que é.
Paradroid 17/06
@paradroid Peguei você.
KCotreau
Estou no @KCotreau - eles simplesmente não são armazenados em nenhum lugar previsível (ou às vezes armazenados em qualquer lugar fora do executável de acionamento), por isso não consigo pensar em como você pode enumerá-los programaticamente. Um aplicativo pode tentar todas as combinações possíveis de pressionamento de tecla, mas seria muito inteligente identificar o que realmente acontece sempre, de qualquer maneira que seja remotamente legível ou útil para humanos.
Shinrai
@Shinrai: Mas o sistema operacional obviamente sabe quais atalhos de teclado em todo o sistema estão em uso e quais programas estão anexados a eles.
parrotroid

Respostas:

3

Infelizmente, não há uma maneira administrativa centralizada de gerenciar ou descobrir teclas de atalho globais no Windows. Quando um aplicativo define uma tecla de atalho global, ele simplesmente diz ao Windows que deseja ouvir todos os eventos e filtros do teclado com base no que deseja ouvir quando o Windows o informar.

Em outras palavras:

  1. Você ativa teclas de atalho globais em um aplicativo (como o Winamp)
  2. O Winamp diz ao Windows que deseja ouvir eventos de teclado em todo o sistema por meio das APIs do Windows (isso é simplificado, existem alguns eventos de teclado que ainda são filtrados dos programas do usuário, alguns aplicativos precisam instalar filtros para obter mais detalhes)
  3. Quando um evento do teclado acontece (uma tecla é pressionada), o Windows aciona uma mensagem no aplicativo dizendo "uma tecla foi pressionada, eis os detalhes"
  4. O aplicativo examina as informações fornecidas pelo Windows, que normalmente incluem a tecla pressionada e quaisquer modificadores (como shift, alt, ctrl, tecla do Windows)
  5. Dependendo do interesse do aplicativo e da tecla pressionada, o aplicativo executará alguma ação (por exemplo, pausará a música) ou retornará o controle ao Windows. Ou seja, se a combinação de teclas em que o aplicativo estava interessado foi pressionada, ela executará a ação relevante.

Devido a esse processo e ao aplicativo poder lidar com pressionamentos de teclas globais, é possível entender por que não há administração ou controle central para isso.

Meu único conselho seria usar algo como ProcMon ou Process Explorer para observar qual atividade acontece quando você pressiona a combinação de teclas em que está interessado.

Ashley
fonte
0

Você pode tentar HotKeys - mostra um mapa dos atalhos e permite atribuir novos. Não tenho 100% de certeza, mas acho que é limitado a Win+ somethingcombinações.

RonK
fonte