При использовании мониторов с высоким разрешением (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 при запуске приложения пыталась сначала получить данный из файла манифеста приложения. Для этого в ветке реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide создать ключ типа DWORD (32 бит) со именем PreferExternalManifest и десятичным значением 1.
Затем в каталоге %SystemRoot%\System32\ (в нем хранится клиент mstsc.exe) нужно создать файл mstsc.exe.manifest со следующим текстом:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" 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 xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<ms_windowsSettings:dpiAware xmlns:ms_windowsSettings= "http://schemas.microsoft.com/SMI/2005/WindowsSettings" >false</ms_windowsSettings:dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
Перезагрузите Windows, и попробуйте удаленно подключиться к другому компьютеру/серверу с помощью mstsc.exe. Как вы видите, содержимое RDP окна теперь отображается нормально.
Аналогичным образом можно создать файл манифеста для любого приложения, который не поддерживает нативное масштабирование.
Как тоже самое сделать на Windows 7?
Удалось найти решения для Windows 7 ??
Нет. Решения нету. Пришлось перейти на Вин10, но даже там этот способ работает не на всех rdp Только на тех где вин10 тоже стоит или аналог. На старых не работает. Короче фигня
Работает только если на сервере новая ОС (типа Вин10). А на старых 2008 сервер например все равно мелкий текст. Как быть?
И-так!
1. Способ реально работ если всё делать правильно как по инструкции.
2. Осталась проблема с курсором, он по прежнему маловат…
P.S: Были проблемы абсолютно со всеми rdp.
Windows Server 2008 r2
Windows Server 2012 r2
Windows Server 2016
Работает!
Давно искал решение проблемы, при подключении по RDP шрифт был мелковат. А теперь ГУД!!!!
Клиент Win 10 (разрешение ноута 1920х1080)
Server 2003.
не работает у меня(
От спасибо. Спасли меня)) все работает . Клиент Windows 7 , Сервер Windows 10-ка.
На WIN10 не могу найти такой путь в реестре .. Помогите
HKLM это HKEY_LOCAL_MACHINE. С этим ок?
Если действительно пути нет, укажите какой билд Windows 10 и пробовали ли создать путь вручную
Спасибо, реально помогло!
Звонила «удаленный бухгалтер», мол ей обновили ноут и теперь она не может работать, тк «текст размером с бисер!». Посмотрел, монитор у неё 17дюймов с full-hd (1920×1080), подключается к серверу на win2008. В общем реально кошмар с отображением текста в 1с. Сделал по инструкции, все сработало, пользователь счастлив=)
Поставил с нуля Windows 10 последний, и данный скрипт перестал работать. Пробовал взять сам манифест программой Resource Hacker, все равно не работает. Что можете посоветовать?
При чем если запустить старую версию mstsc, то масштабирование работает. А в новой нет, видимо он не видит манифест файл или поменялся формат. Что посоветуете?
Мне помогло это:
Создать ключ dpiAwareness в ветке реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\mstsc.exe типа DWORD (32 bit) со значением 0.
А рекомендация отсюда не сработала
Не дает реестр создать ключ как быть?
Спасибо, добрый человек! Только это помогло на Win 11.
Прошу прощения, на Win 10
Спасибо. Работает на win 11.
Спасибо) помогло))
Клиент вин10 х64 свеже установленная и обновлённая 18_11_2021
сервер РДП вин 2019 х64
С моей головы теперь слезли с этой проблемой )
Пробовал ваш файлманифест, пробовал вставить необходимую секцию в свой файл, взятый с помощью Resource Hacker, также создавал ключ dpiAwareness. Не работает, система Windows 10 21H1, сервера 2008r2 и 2016. В чем проблема? может кто-то может помочь?
Win 10 Enterprise 22H2 заработало с ключом dpiAwareness. Лекарство от автора не сработало.
thnx to proma , it works on win 11 and win server 2008 r2 standard
При переходе по ссылке http://schemas.microsoft.com/SMI/2005/WindowsSettings
выдает:
«The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.»
Видимо Майкрософт удалил схему.
Столкнулся с проблемой, купив 4K монитор.
Решил проблему изменением персональных настроек на удаленном сервере.
Заходишь в персональные настройки Display (Control Panel\Appearance and Personalization\Display)
Меняешь масштабирование через custum sizing option.
Для меня было комфортным значение 150-175%
Теперь масштабируются приложения, которые не масштабировались (конфигуратор 1С).
Текст четкий, без размытия.