Kontextmenüelement wie WinRAR, "Zu DATEINAME hinzufügen"

1

Ich möchte ein Kontextmenüelement wie WinRAR zum Kontextmenü von Dateien oder Ordnern hinzufügen, indem ich die Registrierungsschlüssel ändere.

1

In dem Bild,

Hinzufügen zu "Screen Captures.rar"

WinRAR erhält den Namen "Screen Captures" aus dem Dateinamen. Ich denke, WinRAR hat eine DLL, die Code enthält, der diesen Dateinamen erhält und dynamisch zum Kontextmenü hinzufügt.

Aber in meinem Fall habe ich keine DLL, also muss ich es manuell machen. Gibt es einen Code oder ein Argument (wie% 1% V usw.), das ich für die Registrierungsschlüssel verwenden kann?

Mein Kontextmenüpunkt wird wie folgt aussehen:

Senden Sie "FILE_OR_FOLDER_NAME_HERE" an Desktop

cagatay117
quelle

Antworten:

0

Ein dynamischer Kontextmenüpunkt wie die WinRAR erstellt ist unmöglich , ohne zusätzlichen Code zu tun.

Sie können den (Standard-) Wert für HKEY_CLASSES_ROOT\<ProgID>\shell\mymenueine statische Zeichenfolge wie folgt festlegen :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\txtfile\shell\mymenu]
@="My Menu Entry"

[HKEY_CLASSES_ROOT\txtfile\shell\mymenu\command]
@="%SystemRoot%\\system32\\NOTEPAD.EXE %1"

Daraufhin wird Folgendes angezeigt:

1

Wenn Sie versuchen,% 1 oder andere Variablen zu verwenden , funktioniert dies einfach nicht, da es wie eine Literalzeichenfolge behandelt wird und folglich % 1 selbst im Menü angezeigt wird.

Karan
quelle
Nach dem, was ich in dem anderen Beitrag gelesen habe, den Sie geschrieben haben, und den externen Links, ist es meiner Meinung nach unmöglich, verwaltetes Coding zum Schreiben von Shell-Erweiterungen zu verwenden. Ich kenne C #, @Karan nur, wenn es möglich ist, dass ich etwas programmieren kann. ?
cagatay117
Sie können Shell-Erweiterungen in verwaltetem Code schreiben, dies ist jedoch nicht ratsam . Für bestimmte C # -bezogene Abfragen müssen Sie stattdessen nach SO fragen.
Karan,