Проблема масштабирования RDP в Windows 10 на мониторах с высоким разрешением

Проблема масштабирования RDP в Windows 10 на мониторах с высоким разрешением

При использовании мониторов с высоким разрешением (4k DPI) в Windows 10 пользователи часто сталкиваются с тем, что текст, значки и другие элементы устаревших программ, несовместимых с экранными режимами HiDPI, становится слишком мелким, размытыми и нечитаемыми.

Частично эта проблема была исправлена в обновлении Fall Creators Update за счет внедрения дополнительной поддержки динамического масштабирования DPI, однако при подключении к рабочему столу удаленного компьютера по RDP, проблема масштабирования все еще сохраняется (все также отсутствует поддержка нормального масштабирование для клиента mstsc.exe).

В Windows 8.1 и Windows 10 по-умолчанию локальный DPI передается в RDP подключение, в результате все значки и текст в таком окне становятся очень мелкими и плохо читаемыми.

win10 rdp 4k resolution

В качестве обходного пути можно использовать для RDP подключений приложение RDCMan, но есть решение и для родного клиента mstsc.exe.

Смысл в том, что для конкретных приложений можно создать отдельный файл манифеста (.manifest).

Чтобы этот функционал заработал, чтобы Windows при запуске приложения пыталась сначала получить данный из файла манифеста приложения. Для этого в ветке реестра HKLMSOFTWAREMicrosoftWindowsCurrentVersionSideBySide создать ключ типа DWORD (32 бит) со именем PreferExternalManifest и десятичным значением 1.

PreferExternalManifest

Затем в каталоге %SystemRoot%System32 (в нем хранится клиент mstsc.exe) нужно создать файл mstsc.exe.manifest со следующим текстом:





type="win32"

name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*">





type="win32"
name="Microsoft.VC90.CRT"
version="9.0.21022.8"
processorArchitecture="amd64"
publicKeyToken="1fc8b3b9a1e18e3b">





level="asInvoker"
uiAccess="false"/>




false


mstsc.exe.manifest

Примечание. Данные значения для файла манифеста можно получить самостоятельно из .exe файла приложения с помощью утилиты Resource Hacker. Для этого нужно открыть файл mstsc.exe с помощью Resource Hacker. Скопируйте данные из раздела Manifest->1->1033 (для английской Windows) и добавьте секцию с флагом dpiAware со значением false.

Перезагрузите Windows, и попробуйте удаленно подключиться к другому компьютеру/серверу с помощью mstsc.exe. Как вы видите, содержимое RDP окна теперь отображается нормально.

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

Qiziqarli malumotlar
Проблема масштабирования RDP в Windows 10 на мониторах с высоким разрешением