Проблем с мащабиране на RDP в Windows 10 на монитори с висока разделителна способност

Когато използват монитори с висока разделителна способност (4k DPI) в Windows 10, потребителите често установяват, че текст, икони и други елементи на наследени програми, които са несъвместими с режимите на екрана HiDPI, стават твърде малки, размити и нечетливи..

Този проблем беше частично отстранен в актуализацията на Fall Creators поради въвеждането на допълнителна поддръжка за динамично мащабиране на DPI, но при свързване към работния плот на отдалечен компютър чрез RDP проблемът с мащабирането продължава да съществува (също няма поддръжка за нормално мащабиране за клиента mstsc.exe).

В Windows 8.1 и Windows 10 по подразбиране локалният DPI се прехвърля към RDP връзката, в резултат на това всички икони и текст в такъв прозорец стават много малки и не могат лесно да се четат.

Като решение можете да използвате приложението RDCMan за RDP връзки, но има решение за родния клиент mstsc.exe.

Въпросът е, че за конкретни приложения можете да създадете отделен файл на манифест (.manifest).

За да работи тази функционалност, Windows ще се опита първо да получи данните от файла на манифеста на приложението, когато стартира приложението. За да направите това, в клона на системния регистър HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ SideBySide създайте ключ DWORD (32 бита) с името PreferExternalManifest и десетична стойност 1.

След това в директорията % SystemRoot% \ System32 \ (клиентът mstsc.exe се съхранява в него) трябва да създадете файл mstsc.exe.manifest със следния текст:





type = "win32"
name = "Microsoft.Windows.Common-Controls"
версия = "6.0.0.0" процесорАрхитектура = "*"
publicKeyToken = "6595b64144ccf1df"
language = "*">





type = "win32"
name = "Microsoft.VC90.CRT"
версия = "9.0.21022.8"
ProcessArchitecture = "amd64"
publicKeyToken = "1fc8b3b9a1e18e3b">






level = "asInvoker"
uiAccess = "невярно" />





фалшив


забележка. Тези стойности за файла на манифеста могат да бъдат получени независимо от файла .exe на приложението с помощта на помощната програма Resource Hacker. За целта отворете файла mstsc.exe с хакер на ресурси. Копирайте данните от раздела Manifest-> 1-> 1033 (за английски Windows) и добавете раздел с флага на dpiAware с невярно съдържание.

Рестартирайте Windows и опитайте дистанционно да се свържете с друг компютър / сървър, като използвате mstsc.exe. Както можете да видите, съдържанието на прозореца RDP сега се показва нормално.

По подобен начин можете да създадете файл на манифест за всяко приложение, което не поддържа естествено мащабиране..