Ich habe gerade ein Skript für autohotkey erstellt , das dies in Windows 10 für bis zu 10 Desktops ausführt .
Wie es funktioniert:
Laden Sie den Autohotkey herunter und installieren Sie ihn . Kopieren Sie den folgenden Code, fügen Sie ihn in den Editor ein und speichern Sie ihn mit der Dateierweiterung .ahk
Ich schlage vor, eine Verknüpfung dieser Datei in Ihrem Startordner zu erstellen, damit sie beim Start von Windows ausgeführt wird.
STANDARD-HOTKEYS:
Desktop wechseln: WIN + DESKTOP NUMBER (0 = Desktop Nummer 10)
Neuer Desktop: STRG + WIN + D
Desktop schließen: STRG + WIN + F4
Desktop-Status anzeigen: WIN + '
WICHTIG:
Damit dies funktioniert, dürfen Sie NUR Hotkeys zum Öffnen, Schließen und Ändern von Desktops verwenden, da das Skript darauf wartet, dass diese Hotkeys die aktuelle und die Gesamtzahl der Desktops ermitteln.
Wenn Sie Desktops über das WIN + TAB-Menü mit der Maus erstellen, schließen oder ändern, funktioniert das Skript nicht mehr. Damit es wieder funktioniert, müssen Sie die ersten beiden Zeilen bearbeiten, um den aktuellen Status Ihrer Desktops widerzuspiegeln. (desktopcount / currentdesktop)
Dies bedeutet nicht, dass Sie den WIN + TAB-Bildschirm nicht als Übersicht über Ihre aktuellen Desktops verwenden können. Sie können es tatsächlich in Kombination mit den Hotkeys verwenden, um Ihre Desktops zu organisieren. Ja, die Hotkeys funktionieren immer noch, wenn der Windows Task Viewer geöffnet ist! (WIN + TAB) NIEMALS die Maus benutzen !!!
Warten Sie außerdem, bis das Skript nach dem Start von Windows geladen ist, bevor Sie neue Desktops erstellen, da es sonst nicht funktioniert. Dies kann einen Moment dauern, abhängig von der Anzahl der Startprogramme.
Ok, ich habe noch eine Sache hinzugefügt, um die erneute Synchronisierung des Skripts mit Ihrem Desktop-Status zu vereinfachen. Es gibt jetzt einen Hotkey, der den Status anzeigt, den das Skript für die Desktops hält. Alles, was Sie tun müssen, ist, Ihre Desktops mit der Maus an das Skript anzupassen, und alles wird erneut synchronisiert! Für mich mit einer Schweizer Tastatur hat es gut geklappt, die '? Taste neben 0 und es macht Sinn mit einem? Auf anderen Tastaturen können Sie dies jedoch ändern, indem Sie die Zeile direkt nach dem Hotkey für 0/10 (beginnend mit # ') nach Belieben ändern.
Eigentlich habe ich gerade gemerkt, dass, solange die Desktop-Anzahl korrekt ist, beim Erstellen eines neuen Desktops der aktuelle Desktop-Wert automatisch neu synchronisiert wird.
(Die Zeilen, die mit beginnen, sind Kommentare und haben keinen Einfluss auf das Skript.)
Code:
#NoTrayIcon
;If the script stops working:
;Change the following values to reflect your current desktop state and reload the script.
;Remember to change them back to 1 after reloading the script if you have it set to start with Windows
desktopcount := 1
currentdesktop := 1
;You can change the hotkeys for creating, closing, and switching desktops bellow.
;The current hotkeys are CTRL+WIN+D for new desktop, CTRL+WIN+F4 to close desktop
;and WIN+NUMBER for switching desktops.
;For example, to change the hotkey for new desktop replace ^#D bellow with the desired hotkey.
;Refer to the autohotkey documentation for a full list of symbols refering to modifier keys,
;as you can see ^ is CTRL and # is WIN key.
;If you wanted to change the switch desktop from WIN key to CTRL for example you would have
;to replace the # before each number to a ^
^#D::NewDesktop()
^#F4::CloseDesktop()
#1::SwitchDesktop(1)
#2::SwitchDesktop(2)
#3::SwitchDesktop(3)
#4::SwitchDesktop(4)
#5::SwitchDesktop(5)
#6::SwitchDesktop(6)
#7::SwitchDesktop(7)
#8::SwitchDesktop(8)
#9::SwitchDesktop(9)
#0::SwitchDesktop(10)
#'::MsgBox Desktop Count = %desktopcount%`nCurrent Desktop = %currentdesktop%
;Do not change anything after this line, unless you know what you are doing ;)
;-----------------------------------------------------------------------------------------------
SwitchDesktop(desktop)
{
global desktopcount
global currentdesktop
desktopdiff := desktop - currentdesktop
if (desktop > desktopcount)
{
return
}
if (desktopdiff < 0)
{
desktopdiff *= -1
Loop %desktopdiff%
{
Send ^#{Left}
}
}
else if (desktopdiff > 0)
{
Loop %desktopdiff%
{
Send ^#{Right}
}
}
currentdesktop := desktop
}
NewDesktop()
{
global desktopcount
global currentdesktop
if (desktopcount > 9)
{
return
}
desktopcount ++
currentdesktop := desktopcount
Send ^#d
}
CloseDesktop()
{
global desktopcount
global currentdesktop
desktopcount --
if (currentdesktop != 1)
{
currentdesktop --
}
Send ^#{f4}
}