Czy istnieje sposób uzyskania listy obecnie używanych skrótów klawiaturowych dla całego systemu?

10

Czy istnieje sposób uzyskania listy obecnie używanych skrótów klawiaturowych dla całego systemu, w tym do jakich programów są one dołączone?

Zauważyłem, że niektóre nieoczekiwanie zastępują inne, a niektóre są tajemniczo związane z czymś na moim głównym komputerze.

paradroid
źródło
1
@paradroid Prawdopodobnie nie na całym świecie. Mogą być przechowywane (przynajmniej ... Być może brakuje mi jakiejś możliwości) w systemie Windows, przez niestandardowy program stworzony przez dostawcę komputerów PC, a nawet w normal.dot dla Worda. To naprawdę zależy od tego, jaki to skrót. Opublikuj więcej o tym, co się dzieje, a może mogę pomóc.
KCotreau,
@KCotreau: To bardziej ogólne pytanie niż cokolwiek konkretnego, ponieważ często spotykam się z tym problemem, ponieważ mam dużo oprogramowania, które używają skrótów klawiaturowych i dodaję własne. Na przykład w tej chwili program indeksujący, z którym eksperymentowałem (Tabbles), zastąpił skrót klawiaturowy połączenia dla emulatora terminala SecureCRT. Łatwo było to ustalić, ale było to nieoczekiwane. Próbuję również ustawić skrót klawiszowy dla ClipX as WinKey + V, co zwykle używam, ale coś zabrało to na tym komputerze i nie wiem, co to jest.
paradroid
@paradroid Mam cię.
KCotreau
Jestem z @KCotreau - te po prostu nie są przechowywane w dowolnym miejscu przewidywalnym (lub czasami przechowywane w dowolnym miejscu poza wyzwalającym plikiem wykonywalnym w ogóle), więc nie mogę wymyślić, jak można je policzyć programowo. Aplikacja mogłaby wypróbować każdą możliwą kombinację klawiszy, ale musiałaby być strasznie inteligentna, aby następnie zidentyfikować, co faktycznie dzieje się za każdym razem, w dowolny sposób, który jest czytelny dla człowieka lub przydatny.
Shinrai
@Shinrai: Ale system operacyjny oczywiście wie, które systemowe skróty klawiaturowe są używane i jakie programy są do nich dołączone.
paradroid

Odpowiedzi:

3

Niestety w systemie Windows nie ma scentralizowanego, administracyjnego sposobu zarządzania lub odkrywania globalnych skrótów klawiszowych. Gdy aplikacja ustawia globalny skrót, po prostu mówi Windowsowi, że chce słuchać wszystkich zdarzeń klawiatury i filtrów na podstawie tego, o czym chce usłyszeć, gdy Windows to powie.

Innymi słowy:

  1. Włączysz globalne skróty klawiszowe w aplikacji (takiej jak Winamp)
  2. Winamp informuje system Windows, że chce słuchać zdarzeń systemowych na klawiaturze za pośrednictwem interfejsów API systemu Windows (jest to uproszczone, niektóre zdarzenia na klawiaturze są nadal odfiltrowywane przez programy użytkownika, niektóre aplikacje muszą zainstalować filtry, aby uzyskać więcej szczegółów)
  3. Gdy wydarzy się zdarzenie na klawiaturze (naciśnięcie klawisza), system Windows uruchamia komunikat do aplikacji z informacją „naciśnięto klawisz, oto szczegóły”
  4. Następnie aplikacja analizuje informacje podane przez system Windows, które zwykle obejmują wciśnięty klawisz i wszelkie modyfikatory (takie jak Shift, Alt, Ctrl, klawisz Windows)
  5. W zależności od tego, co jest zainteresowane aplikacją i jaki klawisz został naciśnięty, aplikacja wykona pewne działanie (np. Zatrzyma utwór) lub w inny sposób zwróci kontrolę nad Windows. To znaczy, jeśli zostanie naciśnięta kombinacja klawiszy, która była zainteresowana aplikacją, wykona odpowiednie działanie.

Ze względu na ten proces i od aplikacji, która obsługuje globalne naciśnięcia klawiszy, możesz zobaczyć, dlaczego nie ma centralnej administracji ani kontroli w tym zakresie.

Moją jedyną radą może być użycie czegoś takiego jak ProcMon lub Process Explorer, aby obserwować, co dzieje się po naciśnięciu kombinacji klawiszy, którą jesteś zainteresowany.

Ashley
źródło
0

Można spróbować Klawisze skrótów - pokazuje mapę skrótów i pozwala na przypisanie nowych. Nie jestem w 100% pewien, ale myślę, że ogranicza się to do kombinacji Win+ something.

RonK
źródło