Как исправить приложения, которые выглядят маленькими на дисплеях с высоким разрешением и высоким разрешением

Сегодня многие ПК поставляются с дисплеями с очень высоким разрешением, даже если форм-фактор ПК меньше, например ультрабук или планшет. Или у вас может быть настольный монитор с разрешением 4K. При таком разрешении Windows автоматически включает масштабирование DPI, поэтому все на вашем экране становится больше. Однако есть некоторые сторонние приложения, которые не отображаются должным образом на экранах с высоким разрешением. Они выглядят слишком маленькими для разрешения экрана. Давайте посмотрим, как их исправить, если Windows 8.1 или Windows 10 не масштабируют их должным образом.

DPI1
Как правило, такие приложения были написаны до появления дисплеев с высоким разрешением и не были должным образом обновлены для поддержки высокого разрешения. Они кажутся слишком маленькими на экране, шрифты невозможно прочитать, и они не масштабируются должным образом. Часто кнопки неуместны или слишком малы, чтобы их можно было нажимать для старых приложений, которые не были обновлены для дисплеев с высоким разрешением. Windows обычно автоматически масштабирует все приложения, используя масштабирование в стиле XP, а также виртуализацию DPI для тех приложений, которые не сообщают Windows, что они поддерживают DPI. Однако есть некоторые приложения, которые лгут Windows, что они знают о высоком разрешении, даже если это не так, поэтому Windows не масштабирует их. Такие приложения некорректно отображаются при разрешении Full HD или 4K.

Чтобы исправить их, можно применить трюк, который заставит Windows масштабировать приложение с помощью виртуализации DPI. Однако, согласно моему тестированию, это можно безопасно сделать только в Windows 8.1 и Windows 10. Процедура долгая и немного сложная для начинающих пользователей, но в Windows нет быстрого графического интерфейса пользователя, чтобы принудительно включить виртуализацию DPI для определенного приложения. Выполнение настройки реестра, связанной с этой настройкой в ​​Windows 7 или Windows 8.0, вызывало странное поведение и побочные эффекты, такие как исчезновение значков на панели задач, поэтому делайте это на свой страх и риск, если вы используете эти ОС. Если вы используете Windows 8.1 или Windows 10, продолжайте следовать этим инструкциям.

  1. Создайте пустой текстовый файл из меню New, щелкнув правой кнопкой мыши в любом месте, например. на рабочем столе или в папке. Текстовый файл должен иметь имя программы EXE, которая отображается слишком маленьким, с последующим текстом «.manifest». Например, если имя программы, которое вы используете, которое выглядит маленьким, — SearchTool.exe, создаваемый текстовый файл должен называться «SearchTool.exe.manifest». Если вы не знаете имя EXE, щелкните правой кнопкой мыши панель задач и откройте диспетчер задач во время работы этого приложения. Выберите приложение, щелкните его правой кнопкой мыши и нажмите «Перейти к деталям». На вкладке Details будет показано имя EXE. Затем вы можете создать текстовый файл с соответствующим именем. например Имя процесса.exe.manifest.DPI2
  2. Загрузите и установите бесплатную программу Resource Hacker отсюда: http://www.angusj.com/resourcehacker/. Это инструмент для редактирования ресурсов. Причина, по которой он нам нужен, заключается в том, что манифест приложения иногда хранится внутри EXE, и Windows по умолчанию предпочитает этот внутренний манифест приложения. Мы не хотим полностью игнорировать внутренний манифест приложения, если он существует, то есть если разработчик приложения добавил его, потому что, помимо масштабирования DPI, он содержит другую важную информацию о параллельной конфигурации приложения и повышении UAC.
  3. Запустите Resource Hacker и откройте в нем EXE-файл приложения, который на вашем дисплее с высоким разрешением выглядит необычно маленьким.
  4. Ресурс манифеста программы (EXE) обычно хранится как ресурс типа 24. Проверьте, существует ли этот ресурс 24. Если в открывшемся EXE-файле нет такого ресурса №24, закройте Resource Hacker и откройте файл, созданный на шаге 1, в Блокноте, скопируйте и вставьте в него следующий текст, а затем сохраните и закройте текстовый файл:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <application xmlns="urn:schemas-microsoft-com:asm.v3"> <windowsSettings> <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">False</dpiAware> </windowsSettings> </application> </assembly> 

    Теперь переходите непосредственно к шагу 9 для случая, когда не было ресурса 24 внутри EXE, который вы открыли, и вы выполнили вышеуказанный шаг.

  5. Если вместо этого ресурс 24 существует в EXE, который вы открыли в Resource Hacker, разверните узел с именем 24 -> 1 и щелкните элемент 1033 (это 1033 для англоязычных версий). Щелкните правой кнопкой мыши на правой панели и выберите Выбрать все. Затем снова щелкните выделенный текст правой кнопкой мыши, нажмите «Копировать» и закройте Resource Hacker. Не вносите никаких изменений во внутренний манифест EXE, потому что EXE может иметь цифровую подпись или быть сжатым. Мы не хотим изменять исходный EXE.
  6. Откройте Блокнот, откройте файл, который вы создали на шаге 1, в Блокноте, вставьте то, что вы скопировали из Resource Hacker, в Блокнот и сохраните этот файл из меню «Файл».
  7. Посмотрите, есть ли в этом файле раздел, в котором для флага dpiaware установлено значение True (это означает, что приложение утверждает, что поддерживает DPI, если оно выглядит маленьким на дисплее с высоким DPI):
    <application xmlns="urn:schemas-microsoft-com:asm.v3"> <windowsSettings> <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">True</dpiAware> </windowsSettings> </application>

    Если он существует, измените его с True на False. Если в информации манифеста приложения нет такого раздела, связанного с осведомленностью о DPI, добавьте указанный выше блок текста сразу после следующей строки в файле манифеста:

    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  8. Измените флаг dpaware с True на False, сохраните изменения в файле и закройте его.
  9. Скопируйте файл в папку EXE. Например, если программа установлена ​​в C: \ Program Files \ Contoso \ SearchTool.exe, скопируйте манифест в каталог C: \ Program Files \ Contoso.
  10. Теперь нам нужно настроить Windows, чтобы она предпочитала внешние файлы манифеста внутренним файлам, встроенным в EXE. Эта настройка реестра должна выполняться * только * для Windows 8.1 и Windows 10. Если вы используете Windows 7 или Windows 8.0 RTM, выполнение следующей настройки реестра может вызвать неожиданные побочные эффекты, такие как нарушение некоторых функций системы или сбой приложений.
  11. Откройте редактор реестра (Regedit.exe) в Windows 8.1 или Windows 10. Перейдите к следующему подразделу реестра:
    HKEY_LOCAL_MACHINE> ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ> Microsoft> Windows> Текущая версия> SideBySideDPI3
  12. Щелкните правой кнопкой мыши, выберите «НОВОЕ»> «Значение DWORD (32 бита)». Дайте ему имя: PreferExternalManifest и нажмите клавишу ВВОД.
  13. Щелкните правой кнопкой мыши PreferExternalManifest и выберите команду Изменить. Ввод данных значения 1. Щелкните OK. Закройте редактор реестра.
  14. Теперь перезапустите Windows и запустите приложение, для которого вы добавили этот манифест.DPI4

Приложение должно масштабироваться с помощью функции виртуализации Windows DPI, и оно больше не будет выглядеть слишком маленьким с непригодными для использования элементами управления. Текст может выглядеть размытым, но это потому, что разработчик приложения не обновил приложение для высокого разрешения. Слегка размытый текст допустимо, чем пользовательский интерфейс нечитабельного размера с крошечными элементами управления.

Если приложение все еще активно разрабатывается, вам следует связаться с его разработчиком, чтобы он действительно правильно масштабировал его при высоком разрешении, а не просто пометил EXE как поддерживающий высокое разрешение. Если приложение больше не поддерживается, вам не повезло. Это так хорошо, как будет выглядеть приложение (со слегка размытым текстом). Однако теперь приложение можно использовать.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *