Verwenden von AutoHotkey zum Wechseln von virtuellen Desktops in Windows 10

Eine der besten Funktionen von Windows 10 ist die Aufgabenansicht , mit dem Sie virtuelle erstellen können Desktops . Diese Desktops eignen sich hervorragend zum Verteilen und Organisieren der Fenster von deinem offenen Anwendungen . Sie können drücken Windows-Taste + Tab (halte die Windows-Taste und drücke Tab ), um sie in der Aufgabenansicht anzuzeigen.

Windows 10 Aufgabenansicht

Eine von Microsoft nicht bereitgestellte Funktion ist jedoch die Möglichkeit, mit einem . sofort zu einem bestimmten virtuellen Desktop zu wechseln Tastaturkürzel . Zum Beispiel, wenn Sie eingeschaltet sind Desktop 2 und du möchtest wechseln zu Desktop 6 , du musst gedrückt halten Windows-Taste + Strg und drücken Sie viermal auf den Rechtspfeil. Es wäre einfacher, eine Verknüpfung zu haben, die automatisch zu Desktop Nummer 6 wechselt, unabhängig davon, welchen Desktop Sie verwenden.

In diesem Tutorial erfahren Sie, wie Sie Tastenkombinationen erstellen, um direkt zu einem beliebigen virtuellen Desktop nach Nummer zu wechseln. Wir erreichen dies mit dem kostenlosen Windows-Dienstprogramm AutoHotkey .

Skript erstellen

  1. Das Installationsprogramm wird beendet und eine neue Textdatei wird geöffnet in Notizblock . Die Datei ist unser Skript. (EIN Skript ist eine reine Textdatei, die eine Reihe von Befehlen enthält, die von einem anderen Programm ausgeführt werden sollen, in diesem Fall AutoHotkey.)
Hinweis

Das Skript auf dieser Seite basiert auf Windows-Desktop-Umschalter , ein Open Source Skript gehostet auf GitHub at github.com/pmb6tz/windows-desktop-switcher .

  1. Kopieren und fügen Sie das folgende Skript in Ihr Notepad-Dokument ein:
; Globals DesktopCount = 2 ; Windows starts with 2 desktops at boot CurrentDesktop = 1 ; Desktop count is 1-indexed (Microsoft numbers them this way) ; ; This function examines the registry to build an accurate list of the current virtual desktops and which one we're currently on. ; Current desktop UUID appears to be in HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorerSessionInfo1VirtualDesktops ; List of desktops appears to be in HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorerVirtualDesktops ; mapDesktopsFromRegistry() { global CurrentDesktop, DesktopCount ; Get the current desktop UUID. Length should be 32 always, but there's no guarantee this couldn't change in a later Windows release so we check. IdLength := 32 SessionId := getSessionId() if (SessionId) { RegRead, CurrentDesktopId, HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorerSessionInfo\%SessionId%VirtualDesktops, CurrentVirtualDesktop if (CurrentDesktopId) { IdLength := StrLen(CurrentDesktopId) } } ; Get a list of the UUIDs for all virtual desktops on the system RegRead, DesktopList, HKEY_CURRENT_USER, SOFTWAREMicrosoftWindowsCurrentVersionExplorerVirtualDesktops, VirtualDesktopIDs if (DesktopList) { DesktopListLength := StrLen(DesktopList) ; Figure out how many virtual desktops there are DesktopCount := DesktopListLength / IdLength } else { DesktopCount := 1 } ; Parse the REG_DATA string that stores the array of UUID's for virtual desktops in the registry. i := 0 while (CurrentDesktopId and i  DesktopCount || targetDesktop <1) { OutputDebug, [invalid] target: %targetDesktop% current: %CurrentDesktop% return } ; Go right until we reach the desktop we want while(CurrentDesktop targetDesktop) { Send ^#{Left} CurrentDesktop-- OutputDebug, [left] target: %targetDesktop% current: %CurrentDesktop% } } ; ; This function creates a new virtual desktop and switches to it ; createVirtualDesktop() { global CurrentDesktop, DesktopCount Send, #^d DesktopCount++ CurrentDesktop = %DesktopCount% OutputDebug, [create] desktops: %DesktopCount% current: %CurrentDesktop% } ; ; This function deletes the current virtual desktop ; deleteVirtualDesktop() { global CurrentDesktop, DesktopCount Send, #^{F4} DesktopCount-- CurrentDesktop-- OutputDebug, [delete] desktops: %DesktopCount% current: %CurrentDesktop% } ; Main SetKeyDelay, 75 mapDesktopsFromRegistry() OutputDebug, [loading] desktops: %DesktopCount% current: %CurrentDesktop% ; User config! ; This section binds the key combo to the switch/create/delete actions LWin & 1::switchDesktopByNumber(1) LWin & 2::switchDesktopByNumber(2) LWin & 3::switchDesktopByNumber(3) LWin & 4::switchDesktopByNumber(4) LWin & 5::switchDesktopByNumber(5) LWin & 6::switchDesktopByNumber(6) LWin & 7::switchDesktopByNumber(7) LWin & 8::switchDesktopByNumber(8) LWin & 9::switchDesktopByNumber(9) ;CapsLock & 1::switchDesktopByNumber(1) ;CapsLock & 2::switchDesktopByNumber(2) ;CapsLock & 3::switchDesktopByNumber(3) ;CapsLock & 4::switchDesktopByNumber(4) ;CapsLock & 5::switchDesktopByNumber(5) ;CapsLock & 6::switchDesktopByNumber(6) ;CapsLock & 7::switchDesktopByNumber(7) ;CapsLock & 8::switchDesktopByNumber(8) ;CapsLock & 9::switchDesktopByNumber(9) ;CapsLock & n::switchDesktopByNumber(CurrentDesktop + 1) ;CapsLock & p::switchDesktopByNumber(CurrentDesktop - 1) ;CapsLock & s::switchDesktopByNumber(CurrentDesktop + 1) ;CapsLock & a::switchDesktopByNumber(CurrentDesktop - 1) ;CapsLock & c::createVirtualDesktop() ;CapsLock & d::deleteVirtualDesktop() ; Alternate keys for this config. Adding these because DragonFly (python) doesn't send CapsLock correctly. ;^!1::switchDesktopByNumber(1) ;^!2::switchDesktopByNumber(2) ;^!3::switchDesktopByNumber(3) ;^!4::switchDesktopByNumber(4) ;^!5::switchDesktopByNumber(5) ;^!6::switchDesktopByNumber(6) ;^!7::switchDesktopByNumber(7) ;^!8::switchDesktopByNumber(8) ;^!9::switchDesktopByNumber(9) ;^!n::switchDesktopByNumber(CurrentDesktop + 1) ;^!p::switchDesktopByNumber(CurrentDesktop - 1) ;^!s::switchDesktopByNumber(CurrentDesktop + 1) ;^!a::switchDesktopByNumber(CurrentDesktop - 1) ;^!c::createVirtualDesktop() ;^!d::deleteVirtualDesktop() 
  1. Speicher die Datei.

Speichern Sie Ihr erstes AutoHotkey.ahk-Skript in Notepad

  1. Dieses Skript, AutoHotkey.ahk , befindet sich in Ihrem Dokumentenordner. Öffne ein neues Dateimanager Fenster (drücken Sie Windows-Taste +E) und gehe zu Unterlagen .

AutoHotkey.ahk befindet sich in Ihrem Dokumentenordner

  1. Führen Sie das Skript aus, indem Sie doppelklicken die Datei. Sie werden nichts sehen, aber AutoHotkey führt jetzt das Skript aus.

Wie funktioniert es?

Das Skript funktioniert, indem es verfolgt, welchen virtuellen Desktop Sie derzeit verwenden. Halten Sie die Win-Taste gedrückt und drücken Sie eine Zahl zwischen 1 und 9 schaltet automatisch so oft nach links oder rechts, um zum gewünschten Desktop zu gelangen. (Wenn Sie die Nummer eines noch nicht existierenden Desktops drücken, passiert nichts.)

Testen Sie Ihre neuen Hotkeys

Um es auszuprobieren, erstellen Sie zunächst einen neuen virtuellen Desktop. Klicken Sie dazu auf das Taskansicht-Symbol auf Ihrem Taskleiste (oder drücke Windows-Taste +Tab), dann klicke + Neuer Desktop . Oder verwenden Sie die Tastenkombination Windows-Taste +Strg+D.

Führen Sie dies einmal für jeden neuen virtuellen Desktop durch, den Sie erstellen möchten. Jeder zusätzliche Desktop ist rechts vom vorherigen ausgerichtet.

Jetzt können Sie mit den im Skript definierten Tastenkombinationen zu jedem dieser Desktops wechseln. Runter halten Windows-Taste und drücken Sie eine Zahl zwischen 1 und 9 , und Sie werden automatisch zu diesem nummerierten Desktop umgeschaltet. Drücken Sie zum Beispiel Windows-Taste +3, um zum dritten virtuellen Desktop von links zu wechseln.

Stoppen des Skripts

Um die Verwendung des Skripts zu beenden, gehen Sie zu Ihrem System Tray und Rechtsklick das AutoHotkey-Symbol , das wie ein großes grünes 'H' aussieht, um das AutoHotkey-Windows-Benachrichtigungsmenü aufzurufen.

Hinweis

Wenn Sie das Symbol nicht sehen, verwenden Sie die Einfügemarke ^ Schaltfläche, um ausgeblendete Symbole anzuzeigen.

AutoHotkey Systray-Menü

In diesem Menü können Sie Hotkeys aussetzen , Skript anhalten , oder Ausgang AutoHotkey vollständig. Jede dieser Aktionen setzt Ihre Hotkeys auf den Normalzustand zurück.

Automatisches Ausführen Ihres Skripts beim Start von Windows

Um das Skript bei jedem Start von Windows automatisch auszuführen, verschieben Sie das Skript in Ihr Startordner .

In Windows 10 befindet sich der Autostart-Ordner unter:

 [Your home folder]AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

Dieser Ordner ist normalerweise versteckt, sodass Sie ihn im Datei-Explorer nur aufrufen können, wenn Sie . auswählen AussichtVersteckte Dateien anzeigen oben im Explorer-Fenster.

Sie können jedoch auch direkt auf den Autostart-Ordner zugreifen, indem Sie den vollständigen Verzeichnispfad im Laufbox . Drücken Sie Windows-Taste +R, um das Feld Ausführen zu öffnen, und geben Sie dann das vollständige Verzeichnis ein Pfad . Sie können die Umgebungsvariable verwenden %ANWENDUNGSDATEN% um den Anfang des Pfadnamens automatisch auszufüllen. Sie können dies beispielsweise in das Feld Ausführen eingeben:

 %APPDATA%MicrosoftWindowsStart MenuProgramsStartup

Wenn Sie die Eingabetaste drücken, wird dieser Ordner in einem neuen Datei-Explorer-Fenster geöffnet.

Verschieben Sie nun Ihr Skript in diesen Ordner. Wenn du deine noch hast Unterlagen Ordner in einem anderen Fenster öffnen, Drag-and-Drop AutoHotkey.ahk in den Autostart-Ordner.

Verschieben von AutoHotkey.ahk in Ihren Windows 10-Autostartordner

Wenn Sie das Skript nicht bei jedem Start von Windows automatisch ausführen möchten, öffnen Sie diesen Ordner erneut und verschieben Sie das Skript an eine andere Stelle. Sie können es jederzeit manuell ausführen, indem Sie darauf doppelklicken, unabhängig davon, wo es sich auf Ihrem Computer befindet.

Zusätzliche Bemerkungen

Dieses Skript überschreibt die standardmäßigen Windows-Verknüpfungen für Sieg + (Nummer) , die normalerweise Elemente in Ihrer Taskleiste öffnen ( Sieg + 1 öffnet das erste Element usw.). Einige integrierte Windows-Anwendungen wie z die Einstellungen oder Geschäft Ignorieren Sie das Skript von AutoHotkey. Wenn Sie sich beim Ausprobieren von Hotkeys in einem dieser Fenster befinden, verwendet es das Windows-Hotkey-Verhalten und öffnet etwas von Ihrer Taskleiste anstelle eines neuen Desktops. Eine andere Sache, die Sie beachten sollten, ist, dass AutoHotkey tatsächlich schnell nach links und rechts zwischen Ihren virtuellen Desktops wechselt. Wenn es auf einen virtuellen Desktop stößt, auf dem eine dieser speziellen Anwendungen geöffnet ist, hört es auf zu wechseln und bleibt auf diesem Desktop.

Leider können die Standard-Windows-Verknüpfungen nicht deaktiviert werden, was unpraktisch ist, aber wenn Sie nicht eines dieser Anwendungsfenster geöffnet haben, funktioniert das AutoHotkey-Skript einwandfrei. Das Skript funktioniert normalerweise perfekt mit 95% Ihrer anderen Programme.

Wenn Sie es jedoch vorziehen, können Sie Ihr AutoHotkey-Skript bearbeiten, um eine andere Tastenkombination zu verwenden.

Bearbeiten Ihres AutoHotkey-Skripts

Notizblock öffnen ( StartFensterzubehörNotizblock ).

Öffnen Sie im Editor das AutoHotkey Datei. Wenn der Autostart-Ordner bereits geöffnet ist, können Sie das Symbol per Drag-and-Drop in das Notepad-Fenster ziehen, um die Datei zu öffnen.

Oder Sie können es öffnen, indem Sie auf gehen DateiÖffnen in Notepad und Eingabe des Dateinamens %APPDATA%MicrosoftWindowsStartmenüProgrammeStartupAutoHotkey.ahk .

Wenn die Datei geöffnet ist, können Sie das Skript an Ihre Anforderungen anpassen. Wenn Sie beispielsweise die Hotkey-Kombination Caps Lock+ . verwenden möchten (Nummer) , suchen Sie im Skript nach diesen Zeilen:

LWin & 1::switchDesktopByNumber(1) LWin & 2::switchDesktopByNumber(2) LWin & 3::switchDesktopByNumber(3) LWin & 4::switchDesktopByNumber(4) LWin & 5::switchDesktopByNumber(5) LWin & 6::switchDesktopByNumber(6) LWin & 7::switchDesktopByNumber(7) LWin & 8::switchDesktopByNumber(8) LWin & 9::switchDesktopByNumber(9) 

In diesen Zeilen ändern lines LWin zu Caps Lock :

  CapsLock  & 1::switchDesktopByNumber(1)  CapsLock  & 2::switchDesktopByNumber(2)  CapsLock  & 3::switchDesktopByNumber(3)  CapsLock  & 4::switchDesktopByNumber(4)  CapsLock  & 5::switchDesktopByNumber(5)  CapsLock  & 6::switchDesktopByNumber(6)  CapsLock  & 7::switchDesktopByNumber(7)  CapsLock  & 8::switchDesktopByNumber(8)  CapsLock  & 9::switchDesktopByNumber(9) 

Speichern Sie Ihre Änderungen und doppelklicken Sie auf das Skript, um es in AutoHotkey zu aktualisieren. Wenn Sie in Ihrem Skript Fehler gemacht haben, führt AutoHotkey es nicht aus und gibt Ihnen eine Fehlermeldung. Andernfalls werden Sie gefragt, ob Sie das bereits laufende Skript aktualisieren möchten:

Bestätigungsaufforderung für das AutoHotkey-Update-Skript

Wählen Ja damit Ihre neuen Änderungen wirksam werden.

Wenn Sie eine Idee für eine andere Hotkey-Kombination haben, können Sie diese in eine beliebige Hotkey-Kombination ändern, die noch nicht verwendet wird.

Auswahl einer Tastenkombination

AutoHotkey hat seine eigenen speziellen Wörter und Zeichen, die es verwendet, um Tastaturtasten in seinen Skripten darzustellen. Zum Beispiel die Strg Schlüssel wird durch ein . dargestellt Ausrufezeichen . So verwenden Sie Strg+ (Nummer) Als Hotkey-Kombination können Sie ' Caps Lock & 'zu' ! “ in Ihrem Skript. Dann würden die Zeilen so aussehen:

!1::switchDesktopByNumber(1) !2::switchDesktopByNumber(2) !3::switchDesktopByNumber(3) !4::switchDesktopByNumber(4) !5::switchDesktopByNumber(5) !6::switchDesktopByNumber(6) !7::switchDesktopByNumber(7) !8::switchDesktopByNumber(8) !9::switchDesktopByNumber(9)

Beachten Sie, dass Sie nicht verwenden sollten, wenn Sie ein Symbol anstelle eines Wortes verwenden. & ' im Skript Syntax . Diese Regel ist eine der Sonderregeln, die AutoHotkey in seiner Skriptsprache verwendet.

Eine vollständige Liste aller speziellen Wörter und Symbole für AutoHotkey-Skripte finden Sie auf der AutoHotkey-Liste der Tasten Seite.