Deaktivieren Sie die Standard-Win + Arrows-Hotkeys, um sie für andere Anwendungen verwendbar zu machen

9

Unter Windows 7 möchte ich die Standardeinstellung Win+ Up/ Down/ Left/ aufheben, Rightdamit diese in anderen Anwendungen direkt * gebunden werden können. Wie kann das gemacht werden?

Diese Hotkeys können einfach deaktiviert werden durch:

  1. Zum Ease of Access Center gehen ,
  2. Wählen Sie Die Tastatur einfacher bedienen und
  3. Aktivieren Sie Verhindern, dass Fenster automatisch angeordnet werden, wenn sie an den Bildschirmrand verschoben werden :

    Rahmen

Aber selbst wenn Sie diese Einstellung verwenden und die Hotkeys deaktiviert haben (sie tun nichts), können die Hotkeys in anderen Anwendungen nicht gebunden werden .


Ich habe die folgenden Methoden ausprobiert und keine dieser Arbeiten :

  1. Nehmen Sie die oben genannten Änderungen im Ease of Access Center vor
  2. Aktivieren der Richtlinie Deaktivieren Sie die Windows + X-Hotkeys. Dies entspricht der Einstellung: HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoWinKeysto 1. (Allein mit dieser Einstellung funktionieren die betreffenden Hotkeys weiterhin wie gewohnt.)
  3. Deaktivieren Sie den Windows-Schlüssel wie in KB216893 beschrieben durch Einstellen System\CurrentControlSet\Control\Keyboard Layout\Scancode Map. Dadurch wird der Windows-Schlüssel vollständig deaktiviert, sodass er nirgendwo gebunden oder verwendet werden kann.
  4. Aktivierungsrichtlinie Deaktivieren Sie das Windows Mobility Center


Einige googeln enthüllte diesen Beitrag :

Die Win + Arrow-Tastenkombinationen sind eine von mehreren (zusammen mit Win + P, Win + U und Win + L), die in Windows 7 irgendwie „super registriert / reserviert“ sind. Ich habe versucht herauszufinden, wo und wann sie werden reserviert, sind aber bisher leer ausgegangen. Ich habe auch verschiedene Tricks ausprobiert, um sie zu reservieren, bevor Windows eine Chance hat, aber bisher funktioniert nichts. Diese Tastenkombinationen sind nur auf einer tiefen, intrinsischen Ebene an Windows gebunden, unabhängig davon, ob Sie sie tatsächlich verwenden oder nicht.

Dieser Typ hat keinen Weg gefunden, aber vielleicht wissen einige von Ihnen mehr. Vielleicht gibt es eine DLL / Exe, die wir leicht patchen können. ;-);

*) Ich möchte vermeiden, andere Tools wie AutoHotKey zu verwenden, um den Hotkey zu verknüpfen und ihn einem anderen Element zuzuordnen , das in gängigen Anwendungen gebunden werden kann.

Qtax
quelle
Haben Sie versucht, HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer \ NoWinKeys zu ändern? Ihre Frage besagt, dass Sie die in HKCU geändert haben. Erstellen Sie den Schlüssel, wenn er nicht vorhanden ist, starten Sie ihn neu und prüfen Sie, ob er Auswirkungen hat.
Zac B

Antworten:

7

Dieser Typ hat keinen Weg gefunden, aber vielleicht wissen einige von Ihnen mehr.

Unwahrscheinlich. Ich habe versucht, einen Weg zu finden, um zu verhindern , dass Windows Vista + Hotkeys blockiert, seit sie herauskommen.

Tatsache ist, dass es im Gegensatz zu den meisten Windows-Hotkeys, die mit dieser NoWinKeysEinstellung deaktiviert werden können, einige gibt, die nicht über den Windows Explorer registriert sind. Stattdessen wird die höher- (Nieder-?) Ebene CSRSS registriert mehrere Hotkeys früh im Boot - Prozess, so können Sie nicht nur sich zuerst nicht registrieren, aber es gibt keine Einstellung nicht zu benutzen. Dies sind die Schlüssel, die speziell behandelt werden:

Win + P
Win + L
Win + U
Win + G
Win + X
Ctrl + Shift + Esc
Ctrl + Alt + Del

Sie können von bestimmten Programmen wie AutoHotkey überschrieben werden, jedoch nicht so, wie Sie es suchen (damit Programme sie global registrieren können).

Vielleicht gibt es eine DLL / Exe, die wir leicht patchen können. ;-);

Das ist auch ziemlich unwahrscheinlich. Es würde das Hacken von Kernkomponenten von Windows erfordern, und selbst wenn der Ort, an dem die Hotkeys registriert und gepatcht wurden, gefunden und gepatcht würde, müsste dies verhindern, dass Sicherheitssoftware den Patch als Infektion ansieht, und sicherstellen, dass der Patch nach jedem erneut angewendet wird Windows Update.


Sie können den Windows-Hotkey-Explorer ausprobieren, der mithilfe von Windows-Hooks die Quelle globaler Hotkeys ermittelt. Leider werden diese speziellen Combos nur als reserviert angezeigt System, was bedeutet, dass sie vom Windows-Kern geladen werden. Was bei WHE noch interessanter ist, ist, dass es für diese Schlüssel dasselbe sagt, auch in Windows XP, wo sie nicht verwendet werden. Dies bedeutet, dass sie nicht wie die anderen gelesen werden und nicht fest codiert sind, was leider bedeutet, dass WHE selbst bei Windows-Hooks auf niedriger Ebene nicht direkt auf sie zugreifen kann. Dies macht es besonders unwahrscheinlich, dass irgendeine Art von einfachem Patch, Treiber usw. erstellt werden kann, um zu verhindern, dass sie gebunden werden.


Leider wäre die beste und effektivste Lösung, Microsoft-Feedback zu hinterlassen und zu hoffen, dass es in einem zukünftigen Update geändert wird, aber das funktioniert selten, wenn überhaupt.

In meinem Fall habe ich einfach nachgegeben und meine XMPlay-Hotkeys geändert, um stattdessen die Pfeiltasten auf dem Ziffernblock zu verwenden.

Synetech
quelle
Etwas verwandt: Ich habe diesen Thread "RegisterHotkey - Liste?" Gefunden. Das hat einige Informationen, die interessant sind und vielleicht helfen könnten, herauszufinden, wo der Hotkey gesetzt ist. Wenn ich unter Vista (und unter Win7, nehme ich an) richtig verstehe, gibt es eine _gphkHashTableKernelfunktion, mit der Sie eine Liste der registrierten Hotkeys abrufen können. Beim Googeln werden nur einige chinesische Websites gefunden - ich denke, nur einige Leute in China spielen gerne damit. ;-)
Qtax
Es ist möglich, aber Sie müssten einen Hook installieren, um an die Informationen zu gelangen, und dann einen Treiber schreiben und installieren, der zu Beginn des Startvorgangs geladen wird, um den Code im Speicher zu patchen und ein Patchen der Datei auf der Festplatte zu vermeiden.
Synetech
0

Dafür gibt es mindestens zwei Tools.

Der erste ist Microsoft Keyboard Layout Creator

Geben Sie hier die Bildbeschreibung ein

Der zweite ist KeyTweak

Geben Sie hier die Bildbeschreibung ein

Weitere Informationen zu einer verwandten Frage: Programm zum Neuprogrammieren meiner Tastatur?

Climenole
quelle
1
Wie hilft das Neuzuordnen von Tasten, die betreffenden Hotkeys zu lösen? Wie beantwortet dies die Frage?
Qtax
Das einzige, was Sie mit dieser 'Lösung' tun können, ist, die Tastatur neu zuzuordnen, um keine Windows-Taste zu haben, sie durch einen anderen Scan-Code zu ersetzen und diese Taste dann zuzuordnen. KEINE gute Lösung, da alles, was versucht, den Win-Schlüssel für irgendetwas zu verwenden, unbrauchbar wäre.
Michael Kohne
Ich rate hier nur, aber Sie könnten theoretisch einen gefälschten WinKey erstellen, Ihren Handler registrieren, um alle zugehörigen Ereignisse abzurufen, und die Ereignisse einfach mit dem echten Windows-Schlüssel erneut auslösen. Das würde Ihnen eine Möglichkeit bieten, jedes Mapping in Bezug auf WinKey nach Ihren Wünschen anzupassen ...
Allerdings
0

AutoHotkey kann mit den Windows-Tastenkombinationen alles überschreiben und ausführen, was Sie möchten.
Siehe diese Dokumentation: Überschreiben oder Deaktivieren von Hotkeys .

AutoHotkey kann seine Aktionen auch abhängig vom aktuellen Fenster oder Prozess ausführen, wodurch die Schlüssel unterschiedlich an verschiedene Prozesse gebunden werden. Siehe zum Beispiel Fenster aktivieren und bearbeiten .

Weitere Informationen zu AutoHotkey finden Sie unter:

Tutorial und Übersicht
AutoHotkey-Dokumentation

harrymc
quelle
3
Sie sagten eindeutig, dass sie AutoHotkey nicht verwenden wollten. Wenn Sie nicht wissen, wie AHK anderen Programmen erlauben kann, diese Schlüssel zu binden, sehe ich nicht, wie dies auf die Frage zutrifft.
Synetech
Sie können die Hotkeys in AutoHotkey einbinden, damit sie in AHK nichts tun oder eine Aktion ausführen. Auf diese Weise können Sie diese Hotkeys jedoch nicht in einer anderen Anwendung binden, was die Frage war. (Deshalb habe ich in der Frage angegeben, dass AHK-Antworten nicht von großem Interesse sind.)
Qtax
@Qtax: Die Bindung von AutoHotkey pro Fenster / Prozessschlüssel schien mir eine Lösung zu sein. Warum funktioniert es bei dir nicht?
Harrymc
1
@harrymc, denn wenn er zum Beispiel Winamp Win+Leftzum Zurückspulen verwenden möchte , gibt es keine Möglichkeit, AutoHotkey dazu zu bringen. Ich nehme an, Sie könnten es vortäuschen, indem Sie Winamp eine andere Taste verwenden lassen, z. B. Win+Azum Zurückspulen, und dann ein AHK-Skript schreiben, das erkennt, wann diese Taste gedrückt wird, während das Winamp-Fenster aktiv ist, und dann Winamp sendet Win+A, aber das ist sinnlos, weil der ganze Punkt Für globale Hotkeys bedeutet dies, dass sie unabhängig vom aktiven Fenster funktionieren.
Synetech
1
@ Qtax: Ich kenne keine bessere Lösung. Ich entschuldige mich, wenn ich den Mangel an Wissen über AHK von Ihrer Seite vermutet habe.
Harryc
0

Sie können die folgende Registrierung hinzufügen [WIN + R -> regedit.exe]:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ System + rechts, erstellen Sie ein neues DWORD 32-Bit + Doppelklicken Sie auf den neu erstellten DisableLockWorkstation-Eintrag und ändern Sie seinen Wert von 0 (Null) auf 1 (Eins).

Ref. http://www.intowindows.com/how-to-disable-windowsl-shortcut-key-in-windows-78-1/

PS. Kein Neustart xD erforderlich

aemonge
quelle
Der Artikel und die Einstellung sprechen über den Win + L-Hotkey. Löst dies die Win + Pfeiltasten?
Qtax
Nicht, es löst eigentlich nur den Gewinn + L. Aber da dies möglich ist, gibt es bestimmt einen Weg für die Pfeilfunktionen.
Aemonge