Problem ze skalowaniem RDP w Windows 10 na monitorach o wysokiej rozdzielczości

Podczas korzystania z monitorów o wysokiej rozdzielczości (4k DPI) w systemie Windows 10 użytkownicy często stwierdzają, że tekst, ikony i inne elementy starszych programów niezgodnych z trybami ekranu HiDPI stają się zbyt małe, rozmyte i nieczytelne.

Ten problem został częściowo rozwiązany w Fall Creators Update ze względu na wprowadzenie dodatkowej obsługi dynamicznego skalowania DPI, jednak po podłączeniu do pulpitu komputera zdalnego za pośrednictwem RDP problem ze skalowaniem nadal występuje (nie ma również obsługi normalnego skalowania dla klienta mstsc.exe).

W Windows 8.1 i Windows 10 domyślnie lokalny DPI jest przesyłany do połączenia RDP, w wyniku czego wszystkie ikony i tekst w takim oknie stają się bardzo małe i słabo czytelne.

Aby obejść ten problem, możesz używać aplikacji RDCMan do połączeń RDP, ale istnieje rozwiązanie dla klienta natywnego mstsc.exe.

Chodzi o to, że dla określonych aplikacji możesz utworzyć osobny plik manifestu (.manifest).

Aby ta funkcja działała, system Windows powinien najpierw spróbować pobrać dane z pliku manifestu aplikacji podczas uruchamiania aplikacji. Aby to zrobić, w gałęzi rejestru HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ SideBySide utwórz klucz DWORD (32 bity) o nazwie PreferExternalManifest i wartość dziesiętna 1.

Następnie w katalogu % SystemRoot% \ System32 \ (klient mstsc.exe jest w nim zapisany) musisz utworzyć plik mstsc.exe.manifest z następującym tekstem:





type = "win32"
name = "Microsoft.Windows.Common-Controls"
version = „6.0.0.0” ProcessorArchitecture = „*”
publicKeyToken = "6595b64144ccf1df"
język = „*”>





type = "win32"
name = "Microsoft.VC90.CRT"
wersja = „9.0.21022.8”
ProcessorArchitecture = "amd64"
publicKeyToken = "1fc8b3b9a1e18e3b">






poziom = „asInvoker”
uiAccess = "false" />





fałsz


Uwaga. Te wartości pliku manifestu można uzyskać niezależnie od pliku .exe aplikacji za pomocą narzędzia Resource Hacker. Aby to zrobić, otwórz plik mstsc.exe za pomocą hakera zasobów. Skopiuj dane z sekcji Manifest-> 1-> 1033 (dla angielskiego systemu Windows) i dodaj sekcję z flagą dpiAware z wartością false.

Uruchom ponownie system Windows i spróbuj połączyć się zdalnie z innym komputerem / serwerem za pomocą mstsc.exe. Jak widać, zawartość okna RDP wyświetla się teraz normalnie.

Podobnie możesz utworzyć plik manifestu dla dowolnej aplikacji, która nie obsługuje natywnego skalowania..