System Windows 7 nie może wyłączyć skalowania DPI / PPI dla aplikacji

8

Mam system Windows 7 ze skalowaniem DPI ustawionym na 120 DPI. Powoduje to problemy ze starszymi aplikacjami, takimi jak obcięty tekst, niewyraźna grafika lub zbyt duży tekst. Chciałbym wyłączyć skalowanie DPI dla tych aplikacji. Próbowałem tego: application.exe „menu kontekstowe -> właściwości -> zgodność -> Wyłącz skalowanie wyświetlacza w ustawieniach wysokiej DPI”.

To ustawienie niczego nie zmienia. Aplikacja jest nadal wyświetlana jako 120 DPI, a nie jako 96 DPI. Sprawdziłem to również na świeżym, nie zawiedliwym systemie Windows 7 na maszynie wirtualnej - to samo zachowanie.

Pytanie brzmi: jak zmusić jedną aplikację do używania 96 DPI w inny, PRACUJĄCY sposób?

pawel159
źródło

Odpowiedzi:

4

Właśnie miałem ten sam problem i zaznaczenie któregokolwiek z pól wyboru nie miało znaczenia. Naprawiłem to, co zrobiłem:

  1. Przejdź do „Panel sterowania \ Wygląd i personalizacja \ Wyświetlanie” i kliknij opcję „Ustaw niestandardowy rozmiar tekstu (DPI)”. Upewnij się, że pole wyboru „Użyj skalowania DPI stylu Windows XP” NIE jest zaznaczone. Wyloguj się, aby w razie potrzeby zastosować zmiany.

  2. Zamiast samodzielnie wybierać ustawienia zgodności, uruchom kreatora i pozwól, aby system Windows wybrał go dla Ciebie. Możesz to zrobić, klikając prawym przyciskiem myszy ikonę programu i wybierając z menu opcję „Rozwiązywanie problemów ze zgodnością”. To naprawiło dla mnie przycinanie wyświetlacza. Tekst jest trochę niewyraźny, ale mogę z tym żyć; Cieszę się, że to wszystko widzę. :)

sprzedawca
źródło
1
mój komputer ma tę opcję zaznaczoną i mogę ją odznaczyć :(
kokbira
2

Zdaję sobie sprawę, że to bardzo stare pytanie, ale właśnie znalazłem rozwiązanie. Przełącz motyw (Panel sterowania> Wszystkie elementy Panelu sterowania> Personalizacja) z motywu Aero na motyw podstawowy, a skalowanie wyświetlania dla poszczególnych aplikacji będzie faktycznie działać.

Dave
źródło
1

tylko zgadnij, ale może jeśli uruchomisz aplikację w trybie zgodności z XP lub może wyłączysz ustawienia motywu wizualnego dla tej aplikacji, zignoruje ustawienia DPI?

acme64
źródło
Wszystkie pola wyboru (i opcje listy rozwijanej) na karcie „kompatybilność” nie rozwiązują tego problemu. Próbowałem już na dwóch maszynach.
pawel159
0

odpowiedź mastsellera (1. odpowiedź) działa, ale duża część tekstu aplikacji jest rozmyta :(. ALE teraz działa pole wyboru „Używaj skalowania DPI w stylu Windows XP”. Więc jeśli jest jakaś aplikacja, w której rozmyte zaburzenie jest właściwe, niż mały rozmiar, wykonaj następujące czynności: 1) Wyszukaj plik startowy aplikacji (.exe, .com) w menedżerze plików LUB jego ikonę (lub jeśli aplikacja jest uruchomiona, możesz ją również znaleźć w menedżerze zadań Windows). 2) Kliknij prawym przyciskiem myszy i kliknij właściwość. 3) Kliknij kartę Zgodność. 4) Zaznacz pole wyboru „Użyj skalowania DPI stylu Windows XP”. 5) Uruchom ponownie aplikację (jest uruchomiona).

Masz do czynienia ze wszystkimi rozmytymi aplikacjami jeden po drugim, ale działa.

Ciemna noc
źródło
0

Jeśli okaże się, że Disable display scaling on high DPI settingspole wyboru jest wyszarzone dla aplikacji 64-bitowej, takiej jak:

wprowadź opis zdjęcia tutaj

być może dlatego, że Microsoft zbudował logikę, która odmawia tego ustawienia dla aplikacji 64-bitowych. W takim przypadku polecam postępować zgodnie z instrukcjami na https://superuser.com/a/1018284/460302 i uzyskać zestaw narzędzi do sprawdzania zgodności aplikacji .

We wspomnianej odpowiedzi użytkownik Ben N zapewnia szeroki wgląd w logikę i strukturę systemu Windows do obsługi „niekompatybilnych” aplikacji. Jego procedura pozwala mi zarządzać zgodnością poprzez podpis aplikacji, dzięki czemu nawet jeśli zaktualizuję aplikację i jej numer wersji i / lub zmiany wpisu rejestru, nadal jestem objęty.

Na przykład tutaj był mój podpis dla Rainmeter 3.3.0.2519:

wprowadź opis zdjęcia tutaj

Kiedy zaktualizowałem Rainmeter, przestało to działać. Więc stworzyłem nowy podpis bez numerów wersji:

wprowadź opis zdjęcia tutaj

..i moja nowa 64-bitowa wersja Rainmeter wyświetla się poprawnie.

Jak mówi Ben N.: Wybijmy wielkie działa .

ODCZYT KODU
źródło
0

Właśnie miałem ten sam problem i „Opcja trzecia” (patrz poniżej) z witryny sevenforums.com pomogła mi. Nie byłem w stanie ustawić wymaganego ustawienia dla aplikacji uruchamianej ze zdalnego serwera w oknie właściwości.

Dodaj HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersi / lub HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersnową „wartość ciągu”.

Zmień nazwę na pełną ścieżkę aplikacji (tj. \\server\dir\app.exeLub c:\dir\app.exe) i ustaw „Dane wartości” zgodnie z tymi opcjami (możliwe jest wiele ustawień i należy je rozdzielić spacją):

# Compatibility Mode        Data Value
Windows 95                  WIN95
Windows 98 / Windows Me     WIN98
Windows NT 4.0 (SP 5)       NT4SP5
Windows 2000                WIN2000
Windows XP (SP 2)           WINXPSP2
Windows XP (SP 3)           WINXPSP3
Windows Server 2003 (SP 1)  WINSRV03SP1
Windows Server 2008 (SP 1)  WINSRV08SP1
Windows Vista               VISTARTM
Windows Vista (SP 1)        VISTASP1
Windows Vista (SPk 2)       VISTASP2
Windows 7                   WIN7RTM

#Settings                           Data Value
Run in 256 colors                   256Color
Run in 640 x 480 screen resolution  640x480
Disable visual themes               DISABLETHEMES
Disable desktop composition         DISABLEDWM
Disable display scaling on 
  high DPI settings                 HIGHDPIAWARE
Run this program as Admin           RUNASADMIN

Dzięki tym ustawieniom mogłem uruchomić moją aplikację w następujący sposób:

Imię: \\server\dir\app.exe

Dane wartości: DISABLETHEMES HIGHDPIAWARE RUNASADMIN

gilu
źródło