J'ai 3 bureaux virtuels dans Windows 10.
Sur l’un de ces ordinateurs, j’exécute mstsc en plein écran.
Pour changer de bureau, je peux utiliser Windows + Ctrl + gauche ou droite.
Mais lorsque je suis en mode plein écran mstsc, cette clé est capturée par mstsc et la commutation ne fonctionne pas.
Y a-t-il un moyen de changer ce comportement?
Je cherchais une solution à ce problème et je viens d’en trouver une!
CTRL + ALT + HOME redonne le focus du clavier à l'hôte lorsqu'il est dans Remote Desktop.
Alors vous pouvez faire WIN + CTRL + LEFT ou RIGHT pour basculer entre les bureaux virtuels.
Pas idéal, mais j'aurai probablement autohotkey avec ces 2 raccourcis.
Tout d'abord, je voulais que les touches Windows fonctionnent sur l'ordinateur distant (Alt-Tab
par exemple). J'ai donc l'option "Uniquement en mode plein écran" pour le paramètre "Appliquer les combinaisons de touches Windows".
Ensuite, comme très peu de combinaisons de touches sont capables de vous sortir du bureau distant en plein écran, vous devez utiliser CTRL-ALT-HOME
, qui ramène la barre de connexion mais rend également le contrôle à l'ordinateur local.
J'ai donc écrit ce script autohotkey : switchVirtualDesktopWithRD.ahk. Il est complètement basé sur ce script , donc je ne prends aucun crédit. Je l'ai simplement modifié pour mes besoins . Vous pouvez l'ajuster à la vôtre ...
Dans mon cas, je n'ai que deux bureaux virtuels: le premier est le principal et le second est l'emplacement où je lance un client de bureau à distance plein écran.
Que fait le script lorsque j'appuie sur CTRL-ALT-HOME
:
Si je suis sur le deuxième bureau virtuel, celui où je lance un client de bureau à distance plein écran, cela affiche d'abord la barre de connexion. J'appuie ensuite à nouveau sur la touche HOME
(avec CTRL
et ALT
toujours enfoncés) et je suis de retour sur le premier bureau principal. S'il n'y a pas de session plein écran en cours sur le deuxième bureau, la première combinaison passe immédiatement au premier bureau.
Si je suis sur le premier bureau, il bascule immédiatement vers le second.
En d'autres termes, j'utilise toujours CTRL-ALT-HOME
pour passer d'un bureau à un autre.
Construire hors réponse d'électrotype J'ai un script AHK qui permettra Ctrl+Win+Left et Ctrl+Win+Right touches de raccourci pour changer de bureau sur l'ordinateur local, à partir d'une session RDP plein écran, sans sacrifier aucune autre clé de la session RDP - c'est-à-dire Alt+Tab et similaire fonctionnent toujours normalement dans la session RDP.
Comme nous voulons que la touche de raccourci habituelle fonctionne sur l’ordinateur distant, vous devez définir le paramètre "Uniquement en mode plein écran" pour "Appliquer les combinaisons de touches Windows" lors du démarrage de la session RDP.
J'ai en fait basé mon script sur n autre script J'ai trouvé sur les forums AHK.
Ce qu'il fait:
C:\users\<user>\documents\AutoHotkey.ahk
afin qu'il s'exécute lorsque je commence ahk sans aucun argument.Remarque: l'utilisation de deux postes de travail virtuels distants ou plus (par exemple, un bureau virtuel local, deux bureaux virtuels avec une fenêtre RDP plein écran) sur chacun) mais je n’ai plus le temps de travailler dessus pour le moment. Le problème est que lorsque vous passez d'un poste de travail distant virtuel à un autre, vous devez désassocier et rapprocher la touche de raccourci. Il a du mal à détecter ce problème (bien que cela ne devrait pas être le cas - la barre de titre de RDP a une classe de fenêtre différente, mais elle ne le permet pas. toujours prendre ceci en place).
Ahk script:
;setTimer, windowwatch, 500
#persistent
#usehook
SLEEP_VAL := 500
DEBUG := false
keys_bound := false
while true {
;Debug("Waiting")
sleep, SLEEP_VAL
keys_bound := WaitBind()
}
WaitBind() {
WinWaitActive, ahk_class TscShellContainerClass
Debug("bind")
hotkey LWin & Left, ctrl_win_left_key, on
hotkey LWin & Right, ctrl_win_right_key, on
return true
}
WaitUnbind() {
WinWaitNotActive, ahk_class TscShellContainerClass
Debug("unbind")
hotkey LWin & Left, ctrl_win_left_key, off
hotkey LWin & Right, ctrl_win_right_key, off
return false
}
Debug(msg) {
global DEBUG
if (DEBUG) {
tooltip %msg%
settimer, TooltipClear, 2000
}
}
return
z_key:
; simple script for testing - change the z to 'he'
send, he
Debug("done z")
return
j_key:
; testing if we can activate the RDP title bar
send {Ctrl down}{Alt down}{Home}{Alt up}{Ctrl up}
Debug("done j")
Return
ctrl_win_left_key:
; we are intercepting all Win+Left combinations so we have to do Win+Shift+Left and Win+Left manually to preserve them inside the RDP
GetKeyState, shiftState, Shift
GetKeyState, ctrlState, Ctrl
if (shiftState = "D") {
; by default in windows Ctrl+Shift+Win+Left will act like Shift+Win+Left - shift takes precedence
Debug("done shift win left")
send {Shift down}{LWin down}{Left}{LWin up}{Shift up}
} else if (ctrlState = "D") {
Debug("done ctrl win left")
; the magic happens here
send {Ctrl down}{Alt down}{Home}{Alt up}{Ctrl up}
keys_bound := WaitUnbind()
;Sleep, SLEEP_VAL ;give the OS time to focus on the title bar
send {Ctrl down}{LWin down}{Left}{LWin up}{Ctrl up}
} else {
Debug("done win left")
send {LWin down}{Left}{LWin up}
}
Return
ctrl_win_right_key:
; we are intercepting all Win+Right combinations so we have to do Win+Shift+Right and Win+Right manually to preserve them inside the RDP
GetKeyState, shiftState, Shift
GetKeyState, ctrlState, Ctrl
if (shiftState = "D") {
; by default in windows Ctrl+Shift+Win+Left will act like Shift+Win+Left - shift takes precedence
Debug("done shift win right")
send {Shift down}{LWin down}{Right}{LWin up}{Shift up}
} else if (ctrlState = "D") {
Debug("done ctrl win right")
; the magic happens here
send {Ctrl down}{Alt down}{Home}{Alt up}{Ctrl up}
keys_bound := WaitUnbind()
;Sleep, SLEEP_VAL ;give the OS time to focus on the title bar
send {Ctrl down}{LWin down}{Right}{LWin up}{Ctrl up}
} else {
Debug("done win right")
send {LWin down}{Right}{LWin up}
}
Return
TooltipClear:
; just a routine to turn off tooltip after x milliseconds
tooltip
settimer, TooltipClear, off
Return
windowwatch:
ifwinactive ahk_class TscShellContainerClass
{
Debug("bind")
hotkey LWin & Left, ctrl_win_left_key, on
hotkey LWin & Right, ctrl_win_right_key, on
}
else
{
Debug("unbind")
hotkey LWin & Left, ctrl_win_left_key, off
hotkey LWin & Right, ctrl_win_right_key, off
}
Return
Si vous avez un pavé tactile, vous pouvez essayer le geste des quatre doigts.
Depuis Microsoft Support - Gestes du pavé tactile pour Windows 10
Changer de bureau virtuel: Placez quatre doigts sur le pavé tactile et balayez vers la droite ou vers la gauche.
Je travaille avec deux bureaux virtuels sous Windows 10. Sur l'un de ces postes de travail, j'accède à Windows 7 via Bureau à distance en mode plein écran.
Je peux basculer entre les deux bureaux virtuels avec ce seul geste. Ça marche pour moi.