6

Я проверил этот вопрос, но моя ситуация немного отличается.

У меня есть рабочий компьютер с 2 мониторами, каждый из которых работает с разрешением 1650x1050. У меня дома есть 3 монитора. Обе системы работают под управлением Windows 7. Все три монитора в домашней системе работают с разрешением 1920x1080, при этом один монитор настраивается отдельно, а два других - как один монитор 3840x1080. Я хотел бы, чтобы мой сеанс RDP запускался на одном мониторе 3840x1080, но есть проблема.

Я настроил сеанс RDP моего домашнего компьютера для работы в разрешении 3840x1080:

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

Это работает примерно в половине случаев. Другая половина, удаленное окно появляется с разрешением 4096x1080 (я думаю, что это, вероятно, "максимальное" разрешение по умолчанию или что-то в этом роде.)

Похоже, что-то связано с тем, запускается ли сессия на моем "единственном" мониторе или другом "двойном" мониторе. К сожалению, у меня "единственный" монитор настроен как мой "основной" дисплей в Windows, так что именно здесь он хочет начать. Я должен возиться с положением ярлыка на рабочем столе и переместить окно входа в систему на другой монитор, и все же это работает только примерно половину времени.

У кого-нибудь есть способ либо (1) заставить RDP принудительно принять это разрешение 3840x1080, либо (2) принудительно запустить его на дополнительном мониторе?

2 ответа2

4

Вы можете сделать это путем настройки значений winposstr внутри самого файла rdp. Вот подробное объяснение

Расчет значений для winposstr

Числа, которые вы будете использовать, зависят от того, сколько мониторов у вас есть, разрешение экрана каждого и какой монитор вы выбрали в качестве основного монитора.

Положение левого края определяет монитор

Первое из последних четырех чисел, которое является наиболее важным, указывает положение левого края окна. Если ваш основной монитор находится в центре, и у вас есть мониторы слева и справа, вы будете использовать отрицательное число для мониторов слева и положительное число для мониторов справа.

Например, если у вас есть два монитора слева, каждый из которых имеет разрешение 1680 x 1050, используйте -1680, чтобы поместить окно сеанса на мониторе слева от него, и удвойте его (-3360), чтобы поместить окно в окно. самый левый монитор.

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

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

Если ваш основной монитор имеет разрешение 1200 x 1920, используйте 1200, чтобы расположить окно на мониторе с правой стороны. Это работает, потому что именно в той позиции пикселя находится основной монитор (и монитор справа начинается).

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

Если у вас два монитора справа с разрешением 1680 x 1050 и вы хотите разместить окно на самом правом мониторе, просто добавьте 1200 к 1680, чтобы получить 2880.

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

Верхние и нижние края
Другие числа действительно вступают в игру только когда окно восстановлено (не развернуто) и может быть настроено по вкусу.

Второе число (третье от конца) указывает на самый верхний край окна, поэтому вы можете оставить это число на 0, если у вас нет особых требований. Четвертое (последнее) число - это вертикальное разрешение (= снизу) окна. Вы можете оставить это при максимальном вертикальном разрешении монитора, как в примерах выше.

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

Правый край
Правый край окна выражается рядом с последним числом. Если вы не предпочитаете иначе, для него можно установить тот же размер, что и для развернутого окна.

╔══════════════════╦════════════════════════════╦════════════════════════════════════╗
║     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   ║
╚══════════════════╩════════════════════════════╩════════════════════════════════════╝
0

Я нашел эти инструкции немного запутанными, или, может быть, мне просто было лень читать их все. Я просто установил 3-е значение равным общему значению "x", которое я хотел (в моем случае я хотел, чтобы монитор справа отображал соединение, а монитор слева имеет разрешение 1280x800, поэтому я поставил 1280 там), Затем я сделал все цифры, которые следовали за ним 0. Казалось, сработало.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .