Windows 10: Tam ekranlı uzak masaüstünde sanal masaüstünü değiştirin


28

Windows 10'da 3 sanal masaüstüm var.
Bu masaüstlerinden birinde mstsc fullscreen'i çalıştırıyorum.

Masaüstünü değiştirmek için windows + ctrl + sola veya sağa kullanabilirim.
Ancak tam ekran mstsc'deyken bu anahtar mstsc tarafından yakalanır ve anahtarlama çalışmaz.
Bu davranışı değiştirmenin bir yolu var mı?


Bu konuda da bir cevaba ihtiyacım var!
Antony

1
Olumlu, çünkü bu harika olurdu. Hangi Windows tuş kombinasyonlarının RDP veya bilgisayar için geçerli olduğunu seçmek güzel olurdu
MikeMurko

Yanıtlar:


32

Bu soruna bir çözüm arıyordum ve bir tanesini buldum!

CTRL+ ALT+ HOME, Uzak Masaüstü'ndeyken klavye odağını ana bilgisayara geri verir.
Sonra WIN+ CTRL+ yapabilir LEFTveya RIGHTsanal masaüstleri arasında geçiş yapabilirsiniz.
İdeal değil, ancak muhtemelen bu 2 kısayolla autohotkey anlaşması yapacağım.


1
Bu çok f *** brilliant! Bir süredir böyle bir şey arıyordum ve bulduğum en iyi şey tam ekran modunu kapatan Ctrl + alt + break (duraklama) idi - çok rahatsız edici! Bu olsaydı sana ödül verirdim stackoverflow, ama bunu burada yapamam. Teşekkürler +1!
Kiril Kirov

Seni çok seviyorum, bakış açılarımı al !!
Fedaykin

7

Uzak masaüstü istemcisinde, Windows Anahtar Kombinasyonu uygulamasında "Sadece bu bilgisayar" ı seçmeniz gerektiği ortaya çıktı.

Uzak Masaüstü Yerel Kaynakları


4
Bu işe yarar, ama şimdi ALT + SEKME kullanamıyorum
r03

1
Bende de aynı problem var. Görmezden gelmenin sadece kazanmayı + ctrl + sol / sağ
Ege Özcan

1
@ EgeÖzcan var (çeşit)! Bu cevabı gör
Luke

4

İlk olarak, Windows tuşlarının uzak bilgisayarda çalışmasını istedim ( Alt-Tabörneğin), bu yüzden "Windows tuş kombinasyonlarını uygula" ayarı için "Yalnızca tam ekranı kullanırken" ayarını kullandım.

Ardından, çok az sayıda tuş kombinasyonu, tam ekran olduğunda sizi uzak masaüstünden çıkarabildiğinden, kullanmanız gerekir. CTRL-ALT-HOME , bağlantı çubuğunu getiren, ancak kontrolü yerel bilgisayara geri veren, kullanmanız gerekir.

Bu yüzden bu autohotkey komut dosyasını yazdım : switchVirtualDesktopWithRD.ahk . Tamamen bu senaryoya dayanıyor, bu yüzden kredi kullanmıyorum. Sadece ihtiyaçlarım için değiştirdim . Sizinkine göre ayarlayabilirsin ...

Benim durumumda, sadece iki sanal masaüstüm var: ilki ana, ikincisi ise tam ekran uzak masaüstü istemcisi çalıştırdığım.

Ne zaman basarsam komut dosyası ne yapar CTRL-ALT-HOME:

  • İkinci sanal masaüstündeysem, tam ekranlı bir uzak masaüstü istemcisini çalıştırdığım bilgisayar, ilk önce bağlantı çubuğunu gösterir. Sonra basın HOME(tekrar tuşa CTRLve ALThala basılı) ve geri birinci ana masaüstüne değilim. İkinci masaüstünde tam ekran oturumu yoksa, ilk kombinasyon hemen ilk masaüstüne geçer.

  • Eğer ilk masaüstündeysem, derhal ikinciye geçiyor.

Başka bir deyişle, her zaman CTRL-ALT-HOMEmasaüstü bilgisayarlar arasında geçiş yapmak için kullanırım .


Bunu severim. Biz uzaktan bilgisayar (lar) üzerinde ahk komut dosyasını çalıştırmak (ve giriş yaparken başlatmak için bunları) Eğer biz tercüme eğer, acaba CTRL-WIN-LEFTetmek CTRL-ALT-HOMEve uzak AHK gelen RDP bağlantı çubuğuna odak anahtarını tetikler. O zaman CTRL-WIN-LEFTmasaüstünü değiştirmek için iki kez basmanız yeterlidir .
Luke,

Çalışmasını sağladım, ancak yalnızca yerel makinede çalışan bir komut dosyasıyla - uzaktan kumandada ahk'a gerek yok: D
Luke

3

Kapalı Bina Galvanoplastik cevabı ben sağlayacak bir AHK komut var Ctrl+ Win+ Leftve Ctrl+ Win+ Rightyani - şalter RDP oturumu içinde başka tuşlara ödün vermeden, tam ekran RDP oturumu içinden, yerel bilgisayarda masaüstü için kısayol Alt+ Tabhepsi hala ve benzeri RDP oturumunda normal olarak çalışın.

Düzenli kısayol tuşunun uzak bilgisayarda çalışmasını istediğimizden, RDP oturumunu başlatırken "Windows tuş kombinasyonlarını uygula" ayarı için "Yalnızca tam ekranı kullanırken" ayarına sahip olmalısınız.

Aslında senaryoyu AHK forumlarında bulduğum başka bir senaryoya dayandırdım .

Bu ne yapar:

  • Komut dosyasını yerel makinenizde çalıştırın (uzak masaüstünde değil). Benimkine yapıştırdım, C:\users\<user>\documents\AutoHotkey.ahkbu yüzden ahk’a tartışmasız başladığım anlar.
  • Bir RDP oturumu içindeyseniz ve Ctrl+ Win+ ( Leftveya right) düğmesine basarsanız , komut dosyası önce Ctrl+ Alt+ Home, RDP başlık çubuğunu odaklamak üzere gönderir, sonra da masaüstünü değiştirmek için masaüstü anahtar combo gönderir.

Not: İki veya daha fazla sanal-uzak masaüstü kullanırken (örn. Bir yerel sanal masaüstü, her birinde tam ekran bir RDP penceresi olan iki sanal masaüstü) kullanıldığında biraz sorun çıkarsa da, şu an üzerinde çalışmak için zamanım yok. . Sorun, bir sanal-uzak masaüstünden diğerine geçtiğinizde, kısayol tuşunu açmanız ve yeniden bağlamanız gerekir ve bunu tespit etmekte zorlanıyorsunuz (olmasa da - RDP başlık çubuğunun farklı bir pencere sınıfı var ama yok ' t her zaman bunu topla).

Ahk betiği:

;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

Bazen işe yaramadığını hissediyor - Ctrl+Winbazen yerel bir masaüstünden bir uzak bilgisayara veya tam tersine giderken tuşları bırakıp tekrar basmam gerektiğini düşünüyorum. Çalışmıyorsa deneyin veya gönderim arasındaki gecikmeyi artırmak için komut dosyasının en üstündeki SLEEP_VAL değerini artırın Ctrl+Alt+HomeveCtrl+Win+Left
Luke

3

Bir dokunmatik yüzeyiniz varsa, dört parmak hareketini deneyebilirsiniz.

Gönderen Microsoft Destek - Windows 10'a için Touchpad jestler

Sanal masaüstlerini değiştirme: Dört parmağınızı dokunmatik yüzeye yerleştirin ve sağa veya sola kaydırın.

Windows 10'da iki sanal masaüstüyle çalışıyorum. Bu masaüstlerinden birinde, Uzak Ekrandan Win 7'ye tam ekran modunda erişiyorum.

Bu tek hareketle iki sanal masaüstü arasında geçiş yapabilirim. Benim için çalışıyor.


-1

Ben betiği değiştirerek kısayol tuşlarına basıp bırakma zorunluluğunu çözdüm, böylece çalıştırırken kısayol tuşlarını bağlar ve onları asla çözmez.


Lütfen tam olarak önerdiğiniz şeyi iletmek için bu cevaba net bir şekilde daha fazla bağlam ekleyin. Bilirsiniz, belirttiğiniz cevabı bu cevaba bazı referanslar eklemeyi düşünün. Aksi halde, yorumlamaya nasıl başlayabileceğinizi anladığınızdan emin olmak için "Neden yorum yapmak için 50 itibara ihtiyacım var" konusunu okuyun.
Pezevenk Suyu BT,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.