Categories: Windows 10

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

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

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

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

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

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

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

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

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns_asmv3="urn:schemas-microsoft-com:asm.v3">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.VC90.CRT"
version="9.0.21022.8"
processorArchitecture="amd64"
publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo >
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<asmv3:application>
<asmv3:windowsSettings >
<ms_windowsSettings:dpiAware xmlns_ms_windowsSettings= "http://schemas.microsoft.com/SMI/2005/WindowsSettings" >false</ms_windowsSettings:dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>

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

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

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

admin

Share
Published by
admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

2 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

2 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

2 месяца ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

2 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

2 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

2 месяца ago