Obtendo o RDP para honrar parâmetros de largura e altura?

6

Eu verifiquei esta pergunta , mas minha situação é um pouco diferente.

Eu tenho um computador de trabalho com dois monitores, cada um rodando a 1650x1050. Eu tenho uma configuração de 3 monitores em casa. Ambos os sistemas executam o Windows 7. Todos os três monitores no sistema doméstico são executados em 1920x1080 com um monitor configurado individualmente e os outros dois configurados como um monitor único de 3840x1080. Eu gostaria de ter minha sessão RDP em execução no monitor de 3840x1080, mas há um problema.

Configurei a sessão RDP do meu computador doméstico para que o trabalho seja executado em 3840x1080:

mstsc.exe default.rdp /w:3840 /h:1080

Isso funciona na metade do tempo. A outra metade, a janela remota aparece em uma resolução de 4096x1080 (acho que esta é provavelmente a resolução "máxima" padrão ou algo assim.)

Parece ter algo a ver com o início da sessão no meu monitor "único" ou no meu outro monitor "dual". Infelizmente, eu tenho o monitor "single" configurado como o meu monitor "principal" no Windows, então é aí que ele quer começar. Eu tenho que futz ao redor com a posição do atalho da área de trabalho e mover a janela de login para o outro monitor, e ainda funciona apenas metade do tempo.

Alguém tem uma maneira de (1) obter o RDP para aceitar forçosamente essa resolução de 3840x1080 ou (2) forçar a inicialização no monitor secundário?

    
por user1071914 25.10.2013 / 20:02

2 respostas

4

Você pode fazer isso ajustando os valores de winposstr dentro do próprio arquivo rdp.

Calculating the Values for winposstr

The numbers that you will use depend on how many monitors you have, the screen resolutions of each, and which monitor you have selected to be your primary monitor.

Left edge position determines the monitor

The first of the last four numbers, which is the most important, indicates the position of the left edge of the window. If your primary monitor is in the center and you have monitors to the left and right, you will use a negative number for the monitors to the left, and a positive number for the monitors to the right.

For example, if you have two monitors to the left that each have a resolution of 1680 x 1050, use -1680 to place the session window on the monitor to the immediate left, and double that (-3360) to place the window on the leftmost monitor.

winposstr:s:0,1,-1680,0,0,1050

winposstr:s:0,1,-3360,0,-1680,1050

If your primary monitor has a resolution of 1200 x 1920, use 1200 to place the window on the monitor on the immediate right. This works because that pixel position is where the primary monitor leaves off (and the monitor on the right begins).

winposstr:s:0,1,1200,0,2880,1050

If you have two monitors on the right with a resolution of 1680 x 1050, and want to place the window on the rightmost monitor, simply add 1200 to 1680 to get 2880.

winposstr:s:0,1,2880,0,4560,1050

Top and Bottom Edges
The other numbers only really come into play when the window is restored (not maximized) and can be adjusted to taste.

The second number (third from the end) indicates the topmost edge of the window, so you can leave this number at 0 unless you have special requirements. The fourth (last) number is the vertical resolution (=bottom) of the window. You can leave this at the maximum vertical resolution of the monitor, as in the examples above.

winposstr:s:0,1,1200,0, 2880,1050

Right Edge
The right edge of the window is expressed by the next to the last number. Unless you prefer otherwise, this can be set to the same size as the maximized window.

╔══════════════════╦════════════════════════════╦════════════════════════════════════╗
║     Monitor      ║ Right Edge Calculation     ║          Winposstr Value           ║
╠══════════════════╬════════════════════════════╬════════════════════════════════════╣
║ Leftmost         ║ -3360 + 1680 = -1680       ║ winposstr:s:0,1,-3360,0,-1680,1050 ║
║ Immediate left   ║ -1680 + 1680 = 0           ║ winposstr:s:0,1,-1680,0,0,1050     ║
║ Immediate right  ║ 1200 + 1680 = 2880         ║ winposstr:s:0,1,1200,0,2880,1050   ║
║ Rightmost        ║ 1200 + 1680 + 1680 = 4560  ║ winposstr:s:0,1,2880,0,4560,1050   ║
╚══════════════════╩════════════════════════════╩════════════════════════════════════╝
    
por 25.10.2013 / 20:45
0

Eu achei estas instruções um pouco confusas, ou talvez eu estivesse com preguiça de ler todas elas. Eu simplesmente defini o 3º valor para o valor total de "x" que eu queria (no meu caso, eu queria que o monitor à direita mostrasse a conexão, e o monitor à esquerda tinha uma resolução de 1280x800, então coloquei 1280 lá) . Então eu fiz todos os números que se seguiram 0. Pareceu ter funcionado.

winposstr:s:0,1,<your x value>,0,0,0

    
por 27.03.2014 / 16:06