Wo in der Registrierung befinden sich die Kontextmenüoptionen für 7zip?

Wo in der Registrierung befinden sich die Kontextmenüoptionen für 7zip?

Ich möchte die Kontextmenüoptionen für 7zip im Windows-Datei-Explorer bearbeiten.

Genauer gesagt möchte ich Add to archive...durch ersetzen &Add to archive, um eine Tastenkombination wie APPS KEY + Azum Öffnen verwenden zu können.

In welchen regeditSchlüsseln/Werten soll dies erfolgen? In:

HKEY_CLASSES_ROOT\Folder\ShellEx\ContextMenuHandlers\7-Zip

Ich verstehe:

{23170F69-40C1-278A-1000-000100020000}

Dann HKEY_CLASSES_ROOT\CLSID\{23170F69-40C1-278A-1000-000100020000}sehe ich darin nur einen Link zur 7zip-DLL-Datei.

Ich kenne die übliche Methode zum Festlegen von Kontextmenüoptionen:

HKEY_CLASSES_ROOT\*\shell\Action x\command

wo ich den Befehl festlegen und auch den Text im Menü ändern kann. Aber wie kann ich hier mit 7zip den Text dieses Menüelements ändern? Wenn ich &vorher etwas hinzufüge Add to archive..., wird der Buchstabe A unterstrichen und A als Tastenkombination aktiviert.

Mehr Infos unterTastaturkürzel für 7z „Zum Archiv hinzufügen…“.

Antwort1

Ich kenne die übliche Methode zum Festlegen von Kontextmenüoptionen:

Nein das isteiner vondie üblichen Methoden.

Dann sehe ich in HKEY_CLASSES_ROOT\CLSID{23170F69-40C1-278A-1000-000100020000} nur einen Link zur 7zip-DLL-Datei.

Alle 7-Zip Kontextmenüoptionen sind definiertin dieser DLL-Datei– Sie sind nicht statisch; sie hängen davon ab, auf welche Art von Datei Sie mit der rechten Maustaste geklickt haben, sodass jedes Mal, wenn Windows das Menü anzeigen muss, eine DLL-Funktion aufgerufen wird undentscheidetob jede der verfügbaren Optionen eingefügt werden soll.

Um die Funktionsweise einer DLL-Datei zu ändern, müssen Sie normalerweise den Quellcode finden, ihn bearbeiten und neu kompilieren. Da die Menübeschriftungen jedoch als Zeichenfolgenressourcen in der DLL gespeichert sind (und nicht in den Code eingebettet sind), haben Sie möglicherweise Glück mitRessourcen-Hackeroder ähnliche Tools, die eingebettete EXE/DLL-Ressourcen direkt bearbeiten.

Den Quellcode von 7-Zip finden Sie bei SourceForge. Hier ist jedoch eine leichter zu durchsuchende Kopieauf GitHub– Die DLL verfügt unter anderem über Funktionen, die dieIContextMenu-COM-Schnittstellevom Explorer erwartet.

Antwort2

Ich hatte das gleiche Problem und suchte nach der App-UID von 7-zip, {23170F69-40C1-278A-1000-000100020000}

Das führte zu dem folgenden Registrierungswert, der die registrierte z-zip-DLL zu deaktivieren scheint, wodurch die Kontextmenüeinträge nicht mehr im Windows Explorer angezeigt werden:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked]
"{23170F69-40C1-278A-1000-000100020000}"=""

Ich habe diesen Wert gelöscht, 7-zip deinstalliert und die neueste Version installiert (derzeit 7z2301-x64.msi). Es wurde kein Neustart angefordert und das Kontextmenü von z-zip wurde immer noch nicht angezeigt.

Nach einem Neustart war alles wieder in Ordnung. Hinweis: Neustarts wurden zuvor mehrmals durchgeführt, keine Änderung, bis dieser Registrierungswert gelöscht wurde

Dieser Registrierungswert existierte zur gleichen Zeit, als der „Blockierte“ vorhanden war:

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"

Es sieht also so aus, als würden Einträge in "Blockiert" diejenigen in "Genehmigt" überschreiben.

verwandte Informationen