Ekran o wysokiej DPI i Windows: jak sprawić, by programy zachowywały się tak, jak na ekranach o niskiej rozdzielczości?

11

Używam systemu Windows 10 na ekranie laptopa o wysokiej rozdzielczości. Niektóre programy obsługują ekran wysokiej rozdzielczości i wyglądają ostro. Niektóre nie wyglądają na rozmyte, ale nadal mają odpowiedni rozmiar. Jestem zadowolony z obu.

Ale są też programy, które mają tylko częściowo wyparte wsparcie dla ustawienia wysokiej DPI: albo wydają się małe, albo niektóre elementy okna są małe, a inne mają normalny rozmiar. To sprawia, że ​​niektóre z tych programów są po prostu bezużyteczne, a inne bardzo nieprzyjemne w użyciu.

Czy jest jakiś sposób, aby poprosić system Windows, aby oszukał te programy, myśląc, że działają na ekranie o niskiej rozdzielczości, a następnie skalował je proporcjonalnie ? Wolałbym, aby wszystkie elementy okna były renderowane we właściwym rozmiarze, nawet jeśli oznacza to, że staną się rozmyte.

Aby uniknąć nieporozumień: zdaję sobie sprawę z ustawienia zgodności „Wyłącz skalowanie wyświetlacza w ustawieniach wysokiej DPI” we właściwościach aplikacji, ale nie tego potrzebuję. Proszę o coś przeciwnego: włącz rozmycie powiększania i spraw, aby aplikacja uwierzyła, że ​​działa na ekranie o niskiej rozdzielczości.

Szabolcs
źródło

Odpowiedzi:

11

Wybijmy wielkie działa.

Pobierz i zainstaluj pakiet Application Compatibility Toolkit . Obejmuje to program o nazwie Administrator zgodności, który występuje w dwóch wersjach: 32-bitowej i 64-bitowej. Uruchom ten z taką samą bitością jak aplikacja, którą chcesz pobić.

Tło : Wiele aplikacji twierdzi, że obsługuje określoną funkcję, ale potem psuje implementację. Microsoft radzi sobie z tym przez cały czas i stworzył infrastrukturę kompatybilności, aby ponownie wykorzystywać poprawki do typowych problemów. Te poprawki są implementowane jako podkładki, przechwytujące połączenia z interfejsem API systemu Windows. Użyjemy podkładki dystansowej, która skutecznie anuluje deklarację świadomości DPI w aplikacji. Inne podkładki robią bardziej wyszukane / konfigurowalne rzeczy (patrz CorrectFilePaths), a niektóre po prostu okłamują aplikację na temat jej środowiska (np ForceAdminAccess.).

W dolnej części lewego panelu Administratora zgodności zobaczysz nowy wpis w Niestandardowych bazach danych. Kliknij go prawym przyciskiem myszy i wybierz Utwórz nowyTryb zgodności . Nazwij to czymś (użyłem DpiMisbehavior). Na lewej liście znajdź DPIUnawarei kliknij >przycisk, aby go włączyć. Po zakończeniu kliknij OK.

tworzenie trybu kompatybilności

Kliknij ponownie niestandardową bazę danych prawym przyciskiem myszy i wybierz polecenie Utwórz nowyPoprawka aplikacji . Wpisz nazwę programu i dostawcę (nie ma to większego znaczenia) i wybierz główny plik EXE aplikacji. (W tym miejscu ważna jest bitowość Administratora zgodności.) Po zakończeniu naciśnij Dalej.

tworzenie poprawki

W dodatkowych trybach zgodności przewiń w dół i znajdź tryb zgodności, który utworzyłeś przed chwilą. Zaznacz to pole. Wykonaj test, jeśli chcesz, a następnie kliknij Dalej.

zastosowanie poprawki

Ściśle mówiąc, nie trzeba było tworzyć trybu zgodności, ponieważ można tutaj zastosować określone poprawki. Kazałem to zrobić na wypadek, gdybyś musiał później dodać dodatkowe poprawki do tego trybu, aby były one stosowane do wszystkich aplikacji umieszczonych w tym trybie. Możesz więc nacisnąć przycisk Dalej bez robienia czegokolwiek w kroku Poprawki zgodności .

żadne dodatkowe poprawki nie są konieczne

Dopasowane informacje są używane do identyfikacji aplikacji reprezentowanej przez program (EXE). (Byłoby raczej niefortunne, gdyby poprawki zostały zastosowane do programów, które ich nie potrzebują.) Wszystkie zaznaczone wpisy muszą być zgodne, aby program mógł uzyskać poprawkę. Administrator zgodności wyciągnął te wartości kryteriów z określonego wcześniej pliku EXE. Domyślne ustawienia są w porządku lub możesz je zmienić, jeśli masz silne zdanie na temat takich rzeczy. Kliknij Zakończ, gdy będziesz zadowolony.

nie są wymagane żadne działania dotyczące dopasowywania informacji

Powtórz czynności związane z tworzeniem poprawki aplikacji dla każdego programu, który tego potrzebuje. Następnie naciśnij Zapisz na pasku narzędzi. Nadaj mu dowolną nazwę; Kiedyś DPI Repair. Następnie zapisz go w dowolnym miejscu w systemie plików. Możesz użyć elementu Otwórz pasek narzędzi i wybrać ten plik, jeśli chcesz go zmodyfikować w przyszłości.

Na koniec kliknij prawym przyciskiem myszy niestandardową bazę danych o nowej nazwie i wybierz opcję Instaluj .

sukces

O tak.

Jeśli w przyszłości musisz zmodyfikować bazę danych zgodności, po prostu otwórz ją, wprowadź odpowiednie zmiany, kliknij Zapisz, a następnie ponownie zainstaluj; po prostu przejdzie do starej wersji. W rzeczywistości możesz skopiować tę bazę danych na inny komputer i użyć Administratora zgodności, aby zainstalować ją tam bez konieczności jej ponownego tworzenia.

Rozrywka opcjonalna : rozwiń pozycję Aplikacje w Systemowej bazie danych, aby zobaczyć listę programów, które Microsoft musiał naprawić za pomocą tej infrastruktury. Kliknięcie pozycji programu pokaże, jakie poprawki i tryby zgodności zostały zastosowane. W obszarze Poprawki zgodności możesz zobaczyć pełną listę poprawek, których może używać Twój komputer.

Ben N.
źródło
W systemie Windows 10 nie mogę zapisać bazy danych, jeśli utworzę niestandardowy tryb zgodności, ale wszystko działa dobrze, jeśli robię tylko poprawki aplikacji.
Gwen,