Windows 10: Alterne o deskop virtual enquanto estiver na área de trabalho remota de tela inteira

17

Eu tenho 3 desktops virtuais no Windows 10.
Em um desses desktops eu corro mstsc fullscreen.

Para mudar de área de trabalho, posso usar o windows + ctrl + para a esquerda ou para a direita.
Mas quando estou em um mstsc de tela cheia, essa chave é capturada pelo mstsc e a comutação não funciona. Existe uma maneira de mudar esse comportamento?

    
por r03 29.02.2016 / 11:13

6 respostas

17

Eu estava procurando uma solução para esse problema e encontrei um!

CTRL + ALT + HOME retorna o foco do teclado para o host quando na área de trabalho remota.
Então você pode fazer WIN + CTRL + ESQUERDA ou DIREITA para alternar entre os desktops virtuais.
Não é o ideal, mas provavelmente terei o tratamento automático com esses dois atalhos.

    
por 15.02.2017 / 14:46
4

Acontece que no cliente de desktop remoto, você deve selecionar "Somente este computador" quando se trata de aplicar a combinação de chaves do Windows.

    
por 09.03.2016 / 17:14
3

Primeiro, queria que as teclas do Windows funcionassem no computador remoto ( Alt-Tab , por exemplo), portanto, "Somente ao usar a tela inteira" para a configuração "Aplicar combinações de chave do Windows".

Em seguida, como muito poucas combinações de chaves podem tirar você da área de trabalho remota quando ela está em tela cheia, você precisa usar CTRL-ALT-HOME , que traz a barra de conexão, mas também devolve o controle ao computador local .

Então eu escrevi este script autohotkey : switchVirtualDesktopWithRD.ahk . É completamente baseado no script , por isso não tenho nenhum crédito. Eu simplesmente o modifiquei para minhas necessidades . Você pode ajustá-lo ao seu ...

No meu caso, eu só tenho dois desktops virtuais: o primeiro é o principal, e o segundo é onde eu executo um cliente de desktop remoto em tela cheia.

O que o script faz quando pressiono CTRL-ALT-HOME :

  • Se eu estiver na segunda área de trabalho virtual, aquela em que executo um cliente de área de trabalho remota em tela cheia, que primeiro mostra a barra de conexão. Em seguida, pressiono novamente a tecla HOME (com CTRL e ALT ainda pressionado) e estou de volta à primeira área de trabalho principal. Se não houver uma sessão de tela cheia em andamento na segunda área de trabalho, a primeira combinação será imediatamente alternada para a primeira área de trabalho.

  • Se eu estiver na primeira área de trabalho, ela mudará para a segunda imediatamente.

Em outras palavras, sempre uso CTRL-ALT-HOME para alternar entre as áreas de trabalho.

    
por 09.04.2017 / 18:18
3

Construindo resposta do eletrótipo Eu tenho um script AHK que permitirá Ctrl + Win + Esquerda e Ctrl + Teclas de atalho Win + Direita para alternar áreas de trabalho no computador local , de dentro de uma sessão RDP de tela inteira, sem sacrificar quaisquer outras chaves dentro da sessão RDP - ou seja, Alt + Tab e similares, tudo funciona normalmente na sessão RDP. / p>

Como queremos que a tecla de atalho normal funcione no computador remoto, você deve ter "Somente ao usar a tela inteira" para a configuração "Aplicar combinações de teclas do Windows" ao iniciar a sessão RDP.

Na verdade, eu baseei meu script em outro script Eu encontrei nos fóruns do AHK.

O que faz:

  • Execute o script em sua máquina local (não na área de trabalho remota). Eu colei o meu em C:\users\<user>\documents\AutoHotkey.ahk , então ele é executado quando eu começo o ahk sem argumentos.
  • Se você estiver dentro de uma sessão RDP e pressionar Ctrl + Win + ( Esquerda ou direita ) script primeiro envia Ctrl + Alt + Início para focar a barra de título RDP e envia a combinação de teclas do desktop para mudar a área de trabalho.

Observação: ele fica um pouco bugs ao usar dois ou mais desktops virtuais remotos (por exemplo, um desktop virtual local, dois desktops virtuais com uma janela RDP de tela inteira em cada um), mas eu não tem tempo para trabalhar mais agora. A questão é quando você muda de uma área de trabalho remota virtual para outra, você tem que desvincular e ligar a tecla de atalho e está tendo problemas para detectar isso (embora não deva - a barra de título RDP tem uma classe de janela diferente, mas não t sempre pegar isso).

Roteiro 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
    
por 05.05.2017 / 18:09
3

Se você tem um touchpad, pode tentar o gesto com quatro dedos.

De Suporte da Microsoft - Gestos do touchpad para o Windows 10

Switch virtual desktops: Place four fingers on the touchpad and swipe right or left.

Estou trabalhando com duas áreas de trabalho virtuais no Windows 10. Em uma dessas áreas de trabalho, estou acessando o Win 7 através da Área de Trabalho Remota no modo de tela inteira.

Posso alternar entre os dois desktops virtuais com esse único gesto. Isso funciona para mim.

    
por 25.01.2018 / 13:03
-1

Eu resolvi o problema de ter que pressionar e liberar as teclas de atalho alterando o script para que ele ligue as teclas de atalho quando elas forem executadas e nunca as desvincule.

    
por 11.08.2017 / 17:17