Windows 10に3つの仮想デスクトップがあります。
それらのデスクトップの1つで、mstscフルスクリーンを実行します。
デスクトップを切り替えるには、windows + ctrl + leftまたはrightを使用できます。
しかし、フルスクリーンのmstscにいるとき、このキーはmstscによってキャプチャされ、切り替えが機能しません。
この動作を変更する方法はありますか?
私はこの問題の解決策を探していて、それを見つけました!
CTRL + ALT + HOME リモートデスクトップでは、キーボードフォーカスをホストに戻します。
その後、あなたはできる WIN + CTRL + LEFT または RIGHT 仮想デスクトップを切り替える。
理想的ではありませんが、おそらくこれらの2つのショートカットをオートホットキーで処理します。
タッチパッドがある場合は、4本指ジェスチャーを試すことができます。
から Microsoftサポート-Windows 10のタッチパッドジェスチャー
仮想デスクトップを切り替える:タッチパッドに4本の指を置き、右または左にスワイプします。
Windows 10で2つの仮想デスクトップを使用しています。これらのデスクトップの1つで、全画面モードのリモートデスクトップを介してWin 7にアクセスしています。
この1つのジェスチャーで2つの仮想デスクトップを切り替えることができます。わたしにはできる。
まず、リモートコンピューターでWindowsキーを機能させたいので(たとえば[Alt-Tab
)]、[Windowsキーの組み合わせを適用する]設定に[全画面を使用する場合のみ]を設定しました。
次に、全画面表示のときにリモートデスクトップから移動できる主要な組み合わせがほとんどないため、CTRL-ALT-HOME
を使用する必要があります。これにより、接続バーが表示されますが、ローカルコンピューターにコントロールが返されます。
だから私はこれを書いた autohotkey スクリプト:switchVirtualDesktopWithRD.ahk。それは完全に このスクリプト に基づいているため、私は信用しません。私は単に私のニーズのためにそれを変更しました。あなたはそれをあなたのものに合わせることができます...
私の場合、仮想デスクトップは2つしかありません。1つはメインデスクトップで、2つ目は全画面リモートデスクトップクライアントを実行する場所です。
CTRL-ALT-HOME
を押したときのスクリプトの動作:
全画面のリモートデスクトップクライアントを実行している2番目の仮想デスクトップにいる場合は、最初に接続バーが表示されます。次に、もう一度HOME
キーを押します(CTRL
とALT
はまだ押したまま)。最初のメインデスクトップに戻ります。 2番目のデスクトップで全画面セッションが行われていない場合、最初の組み合わせはすぐに最初のデスクトップに切り替わります。
最初のデスクトップにいる場合、すぐに2番目のデスクトップに切り替わります。
つまり、私は常にCTRL-ALT-HOME
を使用してデスクトップを切り替えます。
構築 エレクトロタイプの答え 有効にするAHKスクリプトがあります Ctrl+Win+Left そして Ctrl+Win+Right フルスクリーンRDPセッション内から、RDPセッション内の他のキーを犠牲にすることなく、ローカルコンピューター上のデスクトップを切り替えるためのホットキー-つまり Alt+Tab RDPセッション内でも同様にすべてが通常どおり機能します。
通常のショートカットキーをリモートコンピューターで機能させるため、RDPセッションを開始するときの[Windowsキーの組み合わせを適用する]設定には[全画面を使用する場合のみ]が必要です。
私は実際に自分のスクリプトに基づいています 別のスクリプト AHKフォーラムで見つけました。
それがすること:
C:\users\<user>\documents\AutoHotkey.ahk
に私を貼り付けたので、引数なしでahkを起動すると実行されます。注:2つ以上の仮想リモートデスクトップ(1つのローカル仮想デスクトップ、フルスクリーンのRDPウィンドウを備えた2つの仮想デスクトップなど)を使用すると、少しバグが生じますそれぞれに)しかし、私は今それ以上取り組む時間はありません。問題は、1つの仮想リモートデスクトップから別のデスクトップに切り替えると、ホットキーのバインドを解除して再バインドする必要があり、これを検出できません(検出できないはずです-RDPタイトルバーに別のウィンドウクラスがありますが、そうではありません) t常にこれを受け取ります)。
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