Answers:
我正在寻找这个问题的解决方案,只找到一个!
CTRL + ALT + 家 在远程桌面中将键盘焦点重新设置为主机。
那你可以做 赢得 + CTRL + 剩下 要么 对 在虚拟桌面之间切换。
不理想,但我可能会有autohotkey处理这两个快捷方式。
stackoverflow
,但我不能在这做到这一点。谢谢+1!
首先,我希望Windows键可以在远程计算机上运行( Alt-Tab
例如),所以我在“应用Windows键组合”设置中“仅在使用全屏时”。
然后,由于很少有关键组合能够在全屏时让你离开远程桌面,你必须使用 CTRL-ALT-HOME
,它带来连接栏,但也将控制权交还给本地计算机。
所以我写了这个 AutoHotkey的 脚本: switchVirtualDesktopWithRD.ahk 。它完全基于 这个脚本 所以我没有信任。我只是修改了它 我的需要 。你可以调整它到你的...
就我而言,我只有两个虚拟桌面:第一个是主桌面,第二个是我运行全屏远程桌面客户端的地方。
我按下时脚本的作用 CTRL-ALT-HOME
:
如果我在第二个虚拟桌面上,那是我运行全屏远程桌面客户端的那个,它首先显示连接栏。我然后按下 HOME
再次关键(用 CTRL
和 ALT
仍然按下)我回到了第一个主桌面。如果第二个桌面上没有进行全屏会话,则第一个组合立即切换到第一个桌面。
如果我在第一个桌面上,它会立即切换到第二个桌面。
换句话说,我总是使用 CTRL-ALT-HOME
在桌面之间切换。
CTRL-WIN-LEFT
至 CTRL-ALT-HOME
并从远程ahk触发焦点开关到RDP连接栏。然后你只需要按 CTRL-WIN-LEFT
两次让它切换台式机。
建设 电影的答案 我有一个启用的AHK脚本 按Ctrl + 赢得 + 剩下 和 按Ctrl + 赢得 + 对 热键可以在全屏RDP会话中切换本地计算机上的桌面,而不会牺牲RDP会话中的任何其他密钥 - 即 Alt键 + 标签 在RDP会话中,所有仍然正常工作。
由于我们希望常规快捷键在远程计算机上运行,因此在启动RDP会话时,必须具有“仅在使用全屏时”“应用Windows组合键”设置。
我实际上是基于我的脚本 另一个脚本 我在AHK论坛上找到了。
它能做什么:
C:\users\<user>\documents\AutoHotkey.ahk
所以当我开始没有参数的ahk时它会运行。 注意: 当使用两个或更多虚拟远程桌面时(例如,一个本地虚拟桌面,两个虚拟桌面,每个桌面都有一个全屏RDP窗口),它会变得有点儿麻烦但我现在没有时间再处理它了。问题是当你从一个虚拟远程桌面切换到另一个虚拟远程桌面时,你必须解除绑定并重新绑定热键,并且它无法检测到这一点(虽然它不应该--RDP标题栏有不同的窗口类,但它没有'总是选择这个)。
Ahk脚本:
;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
Ctrl+Win
有时当我从本地桌面转到遥控器或反之亦然时。如果它不起作用,请尝试它,或者增加脚本顶部的SLEEP_VAL以增加发送之间的延迟 Ctrl+Alt+Home
和 Ctrl+Win+Left
如果您有触摸板,则可以尝试四指手势。
从 Microsoft支持 - 适用于Windows 10的触摸板手势
切换虚拟桌面:将四根手指放在触摸板上并向右或向左滑动。
我正在使用Windows 10中的两个虚拟桌面。在其中一个桌面上,我以全屏模式通过远程桌面访问Win 7。
我可以使用这个单一手势在两个虚拟桌面之间切换。这个对我有用。
我解决了这个问题,不得不通过更改脚本来按下并释放热键,以便在运行时绑定热键并且永远不会解除绑定。