7zip 的上下文菜单选项在注册表中的哪个位置?

Bas*_*asj 5 windows windows-registry windows-7 context-menu 7-zip

我想在 Windows 文件资源管理器中编辑 7zip 的上下文菜单选项。

更准确地说,我想替换Add to archive...&Add to archive能够使用像APPS KEY +这样的键盘快捷键A来打开它。

应该在哪些regedit键/值中完成此操作?在:

HKEY_CLASSES_ROOT\Folder\ShellEx\ContextMenuHandlers\7-Zip
Run Code Online (Sandbox Code Playgroud)

我懂了:

{23170F69-40C1-278A-1000-000100020000}
Run Code Online (Sandbox Code Playgroud)

然后在 中HKEY_CLASSES_ROOT\CLSID\{23170F69-40C1-278A-1000-000100020000},我只看到 7zip DLL 文件的链接。

我知道设置上下文菜单选项的常用方法:

HKEY_CLASSES_ROOT\*\shell\Action x\command
Run Code Online (Sandbox Code Playgroud)

我可以在其中设置命令并修改菜单中的文本。但是这里用7zip如何修改这个菜单项文本呢?添加&之前Add to archive...将为字母 A 添加下划线,并将启用 A 作为键盘快捷键。

更多信息请参阅7z 的键盘快捷键“添加到存档...”

use*_*686 6

\n

我知道设置上下文菜单选项的常用方法:

\n
\n

不,这是常用方法之一。

\n
\n

然后在 HKEY_CLASSES_ROOT\\CLSID{23170F69-40C1-278A-1000-000100020000} 中,我只看到 7zip DLL 文件的链接。

\n
\n

所有 7-Zip 上下文菜单选项均在此 DLL 文件\xe2\x80\x93 中定义,它们不是静态的;它们取决于您右键单击的文件类型,因此每次 Windows 需要显示菜单并决定是否插入每个可用选项时都会调用 DLL 函数。

\n

要实际更改 DLL 文件的功能,通常您必须找到其源代码,然后编辑并重新编译它。但是,由于菜单标签作为字符串资源存储在 DLL 中(而不是嵌入到代码中),因此您可能会幸运地使用Resource Hacker或直接编辑 EXE/DLL 嵌入资源的类似工具。

\n

您可以在 SourceForge 上找到 7-Zip 源代码,尽管这里是GitHub \xe2\x80\x93 上更容易浏览的副本,但该 DLL 具有实现Explorer 所需的IContextMenu COM 接口的函数。

\n

  • 此外,您当然还可以在 HKCR\CLSID\7-Zip.7z 下创建自定义条目,并将第二项添加到列表中,其中包含您想要执行的操作。这不会更改 7-zip 菜单或选项,但它允许您按输入的字母。或者,您也可以在那里配置双击选项并将其替换为提取命令。您需要对希望此功能出现的所有文件扩展名执行此操作。 (2认同)