1

В прошлом я добавил несколько пользовательских контекстных меню, очень успешно. Тем не менее, я пытаюсь добавить опцию, чтобы отключить масштабирование точек на дюйм из контекстного меню, так как многие приложения требуют от меня перейти к настройкам и сделать это вручную. Однако под HKCR\.exe не было никакой опции оболочки. Таким образом, я создал один и добавил ключ, с командой и расширен (чтобы сделать его доступным, нажав Shift).

Вот результат выполнения запроса reg HKCR\.exe\shell\DPI Compatibility\command:

HKEY_CLASSES_ROOT\.exe\shell\DPI Compatibility\command
(Default)    REG_SZ    reg.exe Add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v %1 /d "~ HIGHDPIAWARE"

Команда работает сама по себе, и успешно добавлены настройки DPI. Тем не менее, даже с нажатой клавишей Shift нет выбора. Я пытался перезапустить.

Я думаю, что проблема может быть с ключом PersistentHandler, который существует под ключом .exe. Я подозреваю, что он имеет приоритет над старой Shell/ShellEx system . HKCR\.exe\PersistentHandler содержит данные {098f2470-bae0-11cd-b579-08002b30bfeb} , которые являются ключом, который содержит обработчик данных Null Persistent handler и ключ PersistentAddinsRegistered , который содержит больше данных, указывающих на ключи.

Я использую Windows 10, если это имеет какое-либо значение.

1 ответ1

0

Ну, я понял это. Это всегда случается.

Значением по умолчанию для HKCR.exe является "EXEFile", который является классом, содержащим shell и shellex. Помещая мою команду там, все работает плавно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .