Как изменить настройки высокого DPI для программ в C:\Windows?

Как изменить настройки высокого DPI для программ в C:\Windows?

Windows 10, 64-бит. Мой личный ноутбук.

Мне нужно включить системный масштабатор для режима высокого DPI для C:\Windows\hh.exe (программа просмотра HTML-справки), поскольку на моем компьютере он не масштабируется должным образом.

Однако по какой-то причинеСовместимостьВкладка отсутствует в окне свойств hh.exe (щелчок правой кнопкой мыши → Свойства). Похоже, то же самое происходит и с любым другим приложением в C:\Windows.

Единственное, что я думаю, это, возможно, проблема с разрешениями; но на вкладке «Безопасность» я могу нажатьРедактироватьно все элементы управления отключены, поэтому я не могу изменить разрешения на него. Я видел, что группа с именемДоверенный установщикимел полный контроль, но в консоли «Управление компьютером» это не была фактическая группа (и она не отображается в диалоговом окне поиска объектов безопасности), поэтому я не мог добавить себя в нее.

Я не знаю, связано ли это с разрешениями, но это единственное, что я могу попробовать.

Итак, мой вопрос: как получить доступ к вкладке «Совместимость» в окне «Свойства» исполняемых файлов в C:\Windows?


Еще одна вещь, которую я попробовал и которая не сработала, это создание ярлыка для hh.exe на моем рабочем столе, в надежде получить доступ к настройкам совместимости оттуда. Увы, это не помогло, вкладка по-прежнему недоступна:

введите описание изображения здесь


Я также пробовал вручную добавлять настройки совместимости в реестр (с информацией изэта страница):

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]

"C:\\WINDOWS\\hh.exe"="~ GDIDPISCALING DPIUNAWARE"

Но и это не имело никакого эффекта.


Я также попробовал скопировать hh.exe из C:\Windows на рабочий стол (просто проверка), и на самом делебылможно успешно редактировать параметры совместимости и открывать файлы CHM, перетаскивая их в exe-файл.

Однако я попробовал сделать свою копию приложением по умолчанию для файлов CHM, щелкнув правой кнопкой мыши по файлу CHM ->открыть с помощью -> выбрать приложение -> использовать по умолчанию, но на самом деле приложение не изменилось (и даже не открылось с моей копией в том случае).

Я также попробовал сделать то же самое, переименовав свою копию в hhcompat.exe, но эффекта не было.

Я попробовал вручную изменить команду открытия в реестре, изменив:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\chm.file\shell\open\command

Если указать на мою копию, то даже при запуске редактора реестра от имени администратора выдается сообщение «Ошибка записи нового содержимого значения».

Но пока это самое близкое, чего мне удалось достичь.

решение1

ПОБЕДА!Но это ужасное решение. Перепробовав все остальное, перечисленное в моем посте, я наконец смог заставить HTML Help Viewer (c:\windows\hh.exe) работать так, как я хотел, с включенным масштабированием. Процесс очень хакерский, и я не могу его рекомендовать, но это также единственное, что я понял и что сработало:

  1. Создайте где-нибудь папку (у меня это «C:\Programs\hhcompat», поэтому я приведу ее в качестве примера).
  2. Скопируйте C:\Windows\hh.exe в эту папку.
  3. Настройки совместимости теперь можно изменить для копии, щелкнув ее правой кнопкой мыши. Установите по вкусу.
  4. Откройте редактор реестра (как ни странно, вам даже не нужно быть администратором).
  5. Перейдите кHKLM\SOFTWARE\Classes\.chm
  6. Его значение по умолчанию должно быть chm.file. Измените его на что-то другое (выбирайте сами, я сделал свой chm.file2).
  7. Теперь щелкните правой кнопкой мыши поHKLM\SOFTWARE\Классыkey и создайте новый ключ, задайте ему имя, которое вы задали на предыдущем шаге (например chm.file2, ).
  8. Установите его как открывающий глагол по умолчанию для вашей копии:
    1. Создайте подраздел в chm.file2(или как-то так) с именемshell
    2. Создайте подраздел в shellназванномopen
    3. Создайте подраздел в openназванномcommand
    4. Установите commandзначение по умолчанию "C:\Programs\hhcompat\hh.exe" "%1"(или путь к вашей копии).
  9. Теперь найдите где-нибудь файл .chm и дважды щелкните по нему. Он не откроется сразу в новом приложении, но онволяоткрыть диалоговое окно «Открыть с помощью».
  10. В диалоговом окне будет две записи "HTML Help Viewer". Одна из них — копия в C:\Windows, другая — ваша копия. Вы можете определить, какая из них ваша, потому что под ней будет слово "New" (если у вас нет индикатора "New", попробуйте выбрать первую, возможно).
  11. Выберите его и установите флажок «всегда использовать это приложение».
  12. Вот и все. Дважды щелкните файл .chm еще раз, чтобы убедиться, что он работает.

Конкретные причины некоторых из этих шагов таковы:

  • Копирование исполняемого файла куда-то еще позволяет получить доступ к настройкам совместимости. Полагаю, вы не можете сделать это с вещами в C:\Windows, или, по крайней мере, я не смог понять, как (иначе все это было бы не нужно).
  • Вам придется изменить тип .chmфайлов на какой-то другой, поскольку система не позволит вам редактировать команды оболочки по умолчанию для chm.file, но онаволяпозволяют редактировать .chmи добавлять новые ключиHKLM/SOFTWARE/Классы.
  • Вам придется сделать это через реестр, поскольку, насколько мне известно, ни панель управления, ни диалоговое окно «Открыть с помощью» оболочки на самом деле не позволят вам изменить приложение по умолчанию для файлов .chm (по крайней мере, если они идентифицированы как «chm.file»).
  • Возможно, шаги 7 и 8 (создание записи «chm.file2» и настройка глагола) не являются необходимыми, и простого изменения .chm на «chm.file2» на шаге 6 достаточно, чтобы вызвать диалоговое окно «Открыть с помощью» при следующем двойном щелчке по файлу .chm; но я не знаю, я этого не пробовал.

Так что, да. Это крайне глупое количество обручей, через которые нужно прыгать только для того, чтобы исправить масштабирование высокого DPI в системной утилите (которую вообще-то не следовало бы ломать изначально...). Но вот так. Похожий процесс может работать и для других системных приложений. YMMV.

Мы по-прежнему открыты для лучших путей.

решение2

Мне удалось сделать это более простым способом.

Я скопировал hh.exe из C:\Windows и вставил копию в C:\Program Files. Я переименовал файл в C:\Program Files, чтобы знать, что это моя настроенная версия. Затем я открыл диалоговое окно «Свойства» и изменил настройки High DPI для этой версии.

Далее перейдите в Настройки -> Приложения -> Приложения по умолчанию и выберите "Выбрать приложения по умолчанию по типу файла" в нижней части страницы. Вы получите список типов файлов и связанных приложений. Прокрутите вниз до ".chm" и затем щелкните связанное приложение по умолчанию, которое является "Microsoft® HTML Help Executable". У вас будет список программ с двумя копиями одного и того же имени, выберите вторую (которая является вашей переименованной личной копией hh.exe).

Все должно быть хорошо. Двойной щелчок по файлу *.chm должен открыть вашу личную копию с настройками совместимости.

Я не смог найти способ изменить Описание моей личной копии файла hh.exe, которое отображается в диалоговом окне «Свойства». Это «Исполняемый файл справки Microsoft® HTML», такой же, как и у оригинального файла hh.exe, поэтому оба приложения отображаются с одинаковым именем при выборе приложения по умолчанию в параметрах системы.

НТН

Связанный контент