Ustaw DPI poszczególnych aplikacji w systemie Windows

41

Czy można ustawić DPI poszczególnych aplikacji w systemie Windows?

Chcę zwiększyć DPI jednej lub więcej aplikacji, ale nie całego systemu.

Czy można to zrobić?

Yngvedh
źródło
7
To niesamowite, że wciąż nie zorientowali się, że jest to jedyna rzecz, która sprawi, że wyświetlacze o wysokiej rozdzielczości DPI będą w pełni tolerowane, zanim wszyscy programiści naprawią wszystkie swoje aplikacje.
RomanSt

Odpowiedzi:

17

Czy można ustawić DPI poszczególnych aplikacji w systemie Windows?

Jednym słowem nie.

To ustawienie globalne.

Peter Mortensen
źródło
22
bardzo niefortunne
QueueHammer
27
nadal bardzo niefortunne prawie pięć lat później
Simon
1
Czy po wydaniu systemu Windows 10 system Windows 10 obsługuje to?
Ovidiu Buligan
Istnieje technika zwana wirtualizacją DPI, którą można włączyć dla każdej aplikacji. W odpowiedzi poniżej zamieściłem link do samouczka.
Andy
8

Oto technika, która może pośrednio zaspokoić Twoje potrzeby. W Windows 8.1 i Windows 10 istnieje możliwość włączenia skalowania dpi dla starych aplikacji napisanych przed pojawieniem się ekranów o wysokiej rozdzielczości. Windows sprawi, że aplikacja wierzy, że rysuje na ekranie o niskiej rozdzielczości i zajmie się skalowaniem całego okna aplikacji, dzięki czemu wynik będzie wystarczająco duży na ekranie o wysokiej rozdzielczości. Będzie to skalowanie bitmap, bez wektora, więc spodziewaj się rozmycia.

Musisz włączyć jeden klucz w rejestrze, a następnie dostarczyć plik manifestu XML dla każdej aplikacji, którą chcesz skalować. Dobry samouczek na ten temat to Jak naprawić aplikację Skalowanie Surface Pro 4 + Inne wyświetlacze o wysokiej DPI .

Oto ważna sekcja manifestu zewnętrznego opublikowanego w opisie filmu na YouTube:

<?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">
  <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>

I tu pojawia się zawartość pliku .reg, która aktywuje zewnętrzne pliki manifestu:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide]
"PreferExternalManifest"=dword:00000001
Andy
źródło
10
Czy umiesz streścić treść linku w swojej odpowiedzi? Jeśli film zostanie usunięty lub przeniesiony w inny sposób, Twoja odpowiedź stanie się bezużyteczna dla przyszłych użytkowników.
Mokubai
1
Jako ktoś, kto nie może oglądać filmów z YouTube w pracy, odpowiadam na komentarz Mokubai.
domsson
Pytanie zadane na stronie superuser.com/questions/1281939/… - jak to zaimplementować. Dzięki.
Martin Cleaver,
7

Tak! To może być zrobione. Możesz zmienić ustawienie DPI pojedynczej aplikacji w systemie Windows, ale tylko wtedy, gdy ją obsługuje. Możesz to zrobić w następujący sposób.

Jeśli masz kilka konkretnych aplikacji, które obsługują ustawienia wysokiej DPI, ale nie wskazują tego, możesz skonfigurować te szczegóły ręcznie. Aby to zrobić, kliknij prawym przyciskiem myszy skrót, który uruchamia aplikację (w menu Start) i wybierz Właściwości. Na karcie Zgodność włącz opcję o nazwie Wyłącz skalowanie wyświetlacza w ustawieniach wysokiej DPI. Jeśli musisz skonfigurować wiele aplikacji, szybko się to męczy.

Uwaga: Będzie to działać dobrze w systemie Windows Vista, a system Windows 7 nie wie o systemie Windows XP.

bkdubey
źródło
1
Właśnie przetestowałem „Wyłącz skalowanie wyświetlacza w ustawieniach wysokiej DPI” w systemie Windows 7. Nie powoduje, że tekst jest renderowany jako „średni”, gdy ustawienie globalne jest „małe” lub odwrotnie. Innymi słowy, „Wyłącz skalowanie wyświetlacza przy ustawieniu wysokiej DPI” nie wpływa na rozmiar tekstu w taki sam sposób, jak CP-> Ustaw niestandardowy rozmiar tekstu (DPI).
alx9r
6
Wyłącza to skalowanie wyświetlacza; nie wyłącza wysokiego DPI. Skalowanie ekranu to funkcja kompatybilności wstecznej, która pozwala renderować złe aplikacje przy 96 DPI i być skalowane do dowolnego DPI ustawionego na ekranie (jako mapa bitowa). Niektóre starsze aplikacje poprawnie obsługują wysokie DPI, ale go nie deklarują, więc nie powinny wpaść w „zły zestaw aplikacji”, który ma niewyraźny interfejs użytkownika. To ustawienie wyłącza to skalowanie i informuje aplikację, jakie jest rzeczywiste DPI; nie pozwala aplikacji na działanie przy 96 DPI, jakby skalowanie DPI nie było włączone.
Billy ONeal
Jeśli mam 13-calowy monitor mojego laptopa i 19-calowy monitor zewnętrzny, czy to oznacza, że ​​wszystko, co widzę na monitorze laptopa, będzie za duże?
Boris_yo,
Nie do końca rozumiem wszystkie tajniki tego, ale wypróbowałem to w jednej aplikacji, która sprawiła mi znaczny smutek (starsza aplikacja .NET 2.x), i wydawało się, że nie ma to żadnego wpływu: układ był tak samo zepsuty przed zmianą ustawienia, jak później. Jedyne obejście, jakie wpadłem na to, to (gaah) uruchomienie go na zupełnie innym komputerze. Nawet wykonanie zdalnego pulpitu na tym zdalnym komputerze z mojego komputera o wysokiej rozdzielczości psuje aplikację.
Ken Smith,
Używam monitorów 4K i 2560 („2K”) obok siebie w systemie Windows 10 i mają one ten sam wymiar (27 ”). Tak więc ekran 4K musi być skalowany w około 150%, aby był ogólnie użyteczny. Użyłem tego ustawienie zgodności, aby zapobiec naiwnemu skalowaniu putty.exe, a tym samym rozmyciu na dowolnym ekranie innym niż podstawowy. Teraz kłopotliwe jest to, że muszę ręcznie dostosować rozmiar czcionki terminala, gdy używam go na Wyświetlacz 4K, ponieważ w innym przypadku byłby zbyt mały, ale możliwość zmuszenia go do wyświetlenia starszego programu bez skalowania jest bardzo przydatna
Steven Lu
2

ROZWIĄZANIE DLA WINDOWS 10 w komputerach o wysokiej rozdzielczości.

Kliknij prawym przyciskiem myszy ikonę / link do oprogramowania> właściwości> zakładkę „zgodność”> zmień ustawienie wysokiej DPI> zaznacz pole wyboru „zastępuj zachowanie skalowania wysokiej DPI”> wybierz „system” w oknie poniżej (domyślnie „aplikacja”)

baw się dobrze
źródło