7zip 的上下文選單選項在登錄中的哪個位置?

7zip 的上下文選單選項在登錄中的哪個位置?

我想在 Windows 檔案總管中編輯 7zip 的上下文功能表選項。

更準確地說,我想替換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},我只看到 7zip DLL 檔案的連結。

我知道設定上下文選單選項的常用方法:

HKEY_CLASSES_ROOT\*\shell\Action x\command

我可以在其中設定命令並修改選單中的文字。但是這裡用7zip如何修改這個選單項目文字呢?在新增&之前Add to archive...將為字母 A 新增下劃線,並將啟用 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 介面資源管理器所期望的。

答案2

我遇到了同樣的問題,並搜尋了 7-zip 的 App-UID,{23170F69-40C1-278A-1000-000100020000}

這帶來了以下 Reg Value,它似乎禁用了註冊的 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 的上下文功能表仍然沒有顯示。

重新啟動後一切都很好。注意:之前重啟過幾次,沒有變化,直到刪除這個註冊表值

此註冊表值確實同時存在,而「已封鎖」的值已到位:

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"

所以看起來「已封鎖」中的條目會覆蓋「已核准」中的條目

相關內容