Les touches de raccourci Ctrl + Alt + Left Arrow et Ctrl + Alt + Right Arrow sont consommés par le client du bureau à distance. Leur seul effet est de vous renvoyer vers l'ordinateur hôte.
Il semble que c'était une fonctionnalité prévue qui n'a jamais été entièrement programmée. et achevée, mais il n'y a aucun moyen de la désactiver. Ces touches de raccourci ne sont même pas répertoriées par Microsoft dans sa documentation officielle à l'adresse suivante Touches de raccourci des services de bureau à distance .
Solution 1 : Utilisez la version Microsoft Store
Une autre version de RDP peut être trouvée dans le Microsoft Store à l'adresse suivante Bureau à distance Microsoft .
Cette version n'a pas cette fonctionnalité semi-implémentée, elle laisse donc passer ces touches de raccourci sans problème. Ceci a été vérifié sur Windows 10 version 1903.
Solution 2 : Traduisez les touches de raccourci sur le client et le serveur.
Cette solution utilisera AutoHotkey installé à la fois sur le client et le serveur, pour :
- Sur le client, traduisez les touches de raccourci ci-dessus en d'autres qui ne sont pas interceptées par RDP
- Sur le serveur, traduisez ces touches en touches de raccourci ci-dessus.
Vous pouvez par exemple utiliser sur le client le script "rdp hotkeys_slave.ahk" suivant d'AutoHotkey pour convertir
Ctrl + Alt + arrow à Alt + Win + arrow :
#SingleInstance Force
#IfWinActive, ahk_exe mstsc.exe
;Send Alt+Win+Left when user types Ctrl+Alt+Left
^!Left::
send !#{Left}
return
;Send Alt+Win+Right when user types Ctrl+Alt+Right
^!Right::
send !#{Right}
return
Le script est restreint au processus mstsc.exe utilisant #IfWin[Not]Active / #IfWin[Not]Exist .
Malheureusement, les scripts d'Autohotkey ne fonctionnent en RDP plein écran qu'une fois qu'ils sont relancés. après avoir activé le plein écran (Voir ici : Comment réparer l'AHK pour envoyer des clés à RDP en plein écran ? ) Nous avons donc besoin d'un deuxième script "rdp hotkeys_master.ahk" pour y parvenir :
#Persistent
SetTimer, ReloadOnRDPMaximized, 500
return
ReloadOnRDPMaximized:
If WinActive("ahk_class TscShellContainerClass")
{
WinGet, maxOrMin, MinMax, ahk_class TscShellContainerClass
if (maxOrMin = 0) {
WinGetPos, PosX, PosY, WinWidth, WinHeight, ahk_class TscShellContainerClass
if (PosY = 0) {
; it is fully maximized therefore reload "script.ahk"
Run "autohotkey" "rdp hotkeys_slave.ahk"
; wait until window gets deactivated so you don't reload it again.
WinWaitNotActive, ahk_class TscShellContainerClass
}
}
}
Vous pouvez utiliser sur le serveur le script AutoHotkey suivant pour convertir
Alt + Win + arrow à Ctrl + Alt + arrow :
;Send Ctrl+Alt+Left when user types Ctrl+Win+Left
!#Left::
send !^{Left}
return
;Send Ctrl+Alt+Right when user types Ctrl+Win+Right
!#Right::
send !^{Right}
return
Pour que les scripts s'exécutent au démarrage, mettez-les tous dans le dossier de démarrage automatique sur les appareils respectifs (tapez Win+R et scripts:startup).