У меня Windows 7 с масштабированием DPI, установленным на 120 DPI. Это создает некоторые проблемы со старыми приложениями, такими как обрезанный текст, размытая графика или слишком большой текст. Я бы хотел отключить масштабирование DPI для этих приложений. Я пробовал это: application.exe "контекстное меню -> свойства -> совместимость -> отключить масштабирование дисплея при высоких настройках DPI".
Этот параметр ничего не меняет. Приложение по-прежнему отображается как 120 DPI, а не 96 DPI. Я также проверил это на новой, не испорченной Windows 7 на виртуальной машине - такое же поведение.
Вопрос: как заставить одно приложение использовать 96 DPI другим, РАБОЧИМ, способом?
источник
Я понимаю, что это очень старый вопрос, но я только что нашел решение. Переключите тему (Панель управления> Все элементы панели управления> Персонализация) с темы Aero на тему Basic, и масштабирование для каждого приложения будет работать.
источник
просто предположение, но, может быть, если вы запустите приложение в режиме совместимости с XP или отключите настройки визуальной темы для этого приложения, оно проигнорирует настройки DPI?
источник
Ответ mastseller (1. answer) работает, но большая часть текста приложения становится нечеткой :(. НО теперь работает флажок «Использовать масштабирование DPI в стиле Windows XP». Так что если есть какое-то приложение, где нечеткое в правильном нарушении, чем Небольшой размер, сделайте следующее: 1) Найдите файл запуска приложения (.exe, .com) в файловом менеджере, ИЛИ его значок (или, если приложение запущено, вы также можете найти его в диспетчере задач Windows). 2) Щелкните правой кнопкой мыши и выберите свойство. 3) Нажмите на вкладку «Совместимость». 4) Установите флажок «Использовать масштабирование DPI в стиле Windows XP». 5) Перезапустите приложение (оно работает).
Вы должны делать со всеми нечеткими приложениями одно за другим, но это работает.
источник
Если вы обнаружите, что ваш
Disable display scaling on high DPI settings
флажок недоступен для 64-разрядного приложения, например:это может быть связано с тем, что Microsoft построила логику, чтобы запретить этот параметр для 64-битных приложений В этом случае я рекомендую вам следовать инструкциям на https://superuser.com/a/1018284/460302 и получить набор средств для обеспечения совместимости приложений .
В вышеупомянутом ответе пользователь Ben N подробно рассказывает о логике и инфраструктуре Windows для работы с «несовместимыми» приложениями. Его процедура позволяет мне управлять совместимостью по сигнатуре приложения, так что даже если я обновлю приложение и его номер версии и / или изменения в реестре, я все еще буду защищен.
Например, здесь была моя подпись для Rainmeter 3.3.0.2519:
Когда я обновил Rainmeter, это перестало работать. Поэтому я создал новую подпись без номеров версий:
..и мой новый 64-битный релиз Rainmeter отображается правильно.
Как говорит Бен Н , давай выберем большие пушки .
источник
У меня была та же проблема, и «Вариант три» (см. Ниже) с сайта sevenforums.com помог мне. Мне не удалось установить необходимые настройки для запуска приложения с удаленного сервера в диалоговом окне свойств.
Добавьте
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
и / илиHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
новое «строковое значение».Измените имя на полный путь вашего приложения (т. Е.
\\server\dir\app.exe
Илиc:\dir\app.exe
) и задайте «Значение данных» в соответствии с этими параметрами (возможны несколько настроек, которые разделяются пробелом):С этими настройками я смог запустить свое приложение так:
Имя:
\\server\dir\app.exe
Значение данных:
DISABLETHEMES HIGHDPIAWARE RUNASADMIN
источник