Je viens de faire un script pour autohotkey cela accomplit ceci dans Windows 10 pour 10 ordinateurs de bureau maximum.
Comment le faire fonctionner:
Télécharger et installer autohotkey . Copiez et collez le code ci-dessous dans le bloc-notes et enregistrez-le avec l'extension de fichier .ahk
Je suggère de créer un raccourci de ce fichier dans votre dossier de démarrage afin qu'il s'exécute au démarrage de Windows.
CLASSES PAR DEFAUT:
Commutateur de bureau: WIN + NUMÉRO DE BUREAU (0 = numéro de bureau 10)
Nouveau bureau: CTRL + WIN + D
Fermer le bureau: CTRL + WIN + F4
Affichage du bureau: WIN + '
IMPORTANT:
Pour que cela fonctionne, vous devez UNIQUEMENT utiliser les touches de raccourci pour ouvrir, fermer et modifier les bureaux, car le script les écoute pour connaître le nombre actuel et total de bureaux.
Si vous créez, fermez ou modifiez des bureaux via le menu WIN + TAB avec la souris, le script cessera de fonctionner. Afin de le faire fonctionner à nouveau, vous devrez éditer les deux premières lignes pour refléter l'état actuel de vos bureaux. (desktopcount / currentdesktop)
Cela ne signifie pas que vous ne pouvez pas utiliser l'écran WIN + TAB pour avoir une vue d'ensemble de vos bureaux actuels. Vous pouvez en fait l’utiliser en combinaison avec les touches de raccourci pour organiser vos bureaux. Oui, les touches de raccourci fonctionnent toujours lorsque le visualiseur de tâches Windows est ouvert! (WIN + TAB) N'utilisez JAMAIS la souris !!!
En outre, attendez que le script se charge après le démarrage de Windows avant de créer de nouveaux bureaux ou cela ne fonctionnera pas. Cela peut prendre un moment en fonction du nombre de programmes de démarrage que vous avez.
Ok, j'ai ajouté une dernière chose pour faciliter la resynchronisation du script avec l'état de votre poste de travail. Il existe maintenant une touche de raccourci qui affiche l'état dans lequel le script estime que les ordinateurs de bureau sont présents. Il vous suffit d'ajuster votre ordinateur de bureau avec la souris pour qu'il s'adapte au script et tout sera synchronisé à nouveau! Pour moi avec un clavier suisse ça a bien fonctionné avec le '? touche près de 0 et cela a du sens avec un? sur celui-ci, mais sur d’autres claviers, vous voudrez peut-être changer cela, ce qui peut être fait facilement en changeant la ligne juste après le raccourci clavier pour 0/10 (commençant par # ') en ce que vous voulez.
En fait, je viens de réaliser… tant que le nombre de postes de travail est correct, la création d'un nouveau poste de travail synchronise automatiquement la valeur du poste de travail actuel.
(Les lignes commençant par; sont des commentaires et n'affectent pas le script)
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}
}