
Я хотел бы изменить параметры контекстного меню для 7zip в проводнике Windows.
Точнее, я хотел бы заменить Add to archive...
на &Add to archive
, чтобы иметь возможность использовать сочетание клавиш, например APPS KEY +, Aдля открытия этого.
В каких regedit
ключах/значениях это следует сделать?
HKEY_CLASSES_ROOT\Folder\ShellEx\ContextMenuHandlers\7-Zip
Я понимаю:
{23170F69-40C1-278A-1000-000100020000}
Затем в HKEY_CLASSES_ROOT\CLSID\{23170F69-40C1-278A-1000-000100020000}
я вижу только ссылку на файл DLL 7zip.
Я знаю обычный метод установки параметров контекстного меню:
HKEY_CLASSES_ROOT\*\shell\Action x\command
где я могу задать команду и также изменить текст в меню. Но здесь с 7zip как изменить этот текст пункта меню? Добавление &
перед Add to archive...
подчеркнет букву A и включит A как сочетание клавиш.
Дополнительная информация вСочетание клавиш для 7z «Добавить в архив...».
решение1
Я знаю обычный метод установки параметров контекстного меню:
Нет, этоодин изобычные методы.
Затем в HKEY_CLASSES_ROOT\CLSID{23170F69-40C1-278A-1000-000100020000} я вижу только ссылку на файл DLL 7zip.
Определены все параметры контекстного меню 7-Zipв этом DLL-файле– они не статичны; они зависят от того, какой файл вы щелкнули правой кнопкой мыши, поэтому функция DLL вызывается каждый раз, когда Windows необходимо отобразить меню ирешаетследует ли вставлять каждый из доступных вариантов.
Чтобы фактически изменить то, что делает файл DLL, обычно вам нужно найти его исходный код, затем отредактировать и перекомпилировать его. Однако, поскольку метки меню хранятся как строковые ресурсы в DLL (а не встроены в код), вам может повезти сРесурсный хакерили аналогичные инструменты, которые напрямую редактируют встроенные ресурсы EXE/DLL.
Исходный код 7-Zip можно найти на SourceForge, хотя вот более удобная для просмотра копияна GitHub– помимо прочего, в DLL есть функции, реализующиеИнтерфейс COM IContextMenuожидается Explorer.
решение2
У меня была та же проблема, и я искал App-UID 7-zip, {23170F69-40C1-278A-1000-000100020000}
Это привело к следующему значению Reg, которое, по-видимому, отключает зарегистрированную библиотеку DLL z-zip, тем самым предотвращая отображение записей контекстного меню в проводнике Windows:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked]
"{23170F69-40C1-278A-1000-000100020000}"=""
Я удалил это значение, удалил 7-zip, установил последнюю версию (в настоящее время 7z2301-x64.msi), перезагрузка не потребовалась, контекстное меню z-zip по-прежнему не отображалось.
После перезагрузки все было нормально. Примечание: перезагрузки делались несколько раз, никаких изменений, пока этот параметр реестра не был удален
Это значение реестра существовало в то же время, «Заблокировано» было на месте:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
"{23170F69-40C1-278A-1000-000100020000}"="7-Zip Shell Extension"
Похоже, что записи в категории «Заблокировано» переопределяют записи в категории «Одобрено».