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

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

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

更准确地说,我想用+这样的键盘快捷键Add to archive...来替换它。&Add to archiveAPPS 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},我只看到指向 7zip DLL 文件的链接。

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

HKEY_CLASSES_ROOT\*\shell\Action x\command

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

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

答案1

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

不,那是之一通常的方法。

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

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

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

你可以在 SourceForge 上找到 7-Zip 源代码,不过这里有一个更容易浏览的副本在 GitHub 上– 除其他外,DLL 还具有实现以下功能的函数IContextMenu COM 接口Explorer 所期望的。

答案2

我遇到了同样的问题,并搜索了 7-zip 的 App-UID,{23170F69-40C1-278A-1000-000100020000}

这带来了以下注册值,它似乎禁用了已注册的 z-zip DLL,从而阻止上下文菜单条目显示在 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 的上下文菜单仍然没有出现。

重启后一切正常。注意:之前重启过几次,没有任何变化,直到删除了这个注册表值

该注册表值确实同时存在,“Blocked”值也已存在:

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"

因此看起来,“阻止”中的条目会覆盖“已批准”中的条目

相关内容