
Zitat von
Luckie:
Richtig und was schreibst du anstelle der ClassID dahin:
Delphi-Quellcode:
Reg.OpenKey('*\Shellex\ContextMenuHandlers\TestName',true);
Reg.WriteString('','Titel des Eintrags');
Also müsste ich hier die ClassID hinschreiben oder wie?! Also so:
Delphi-Quellcode:
Reg.OpenKey('*\Shellex\ContextMenuHandlers\TestName',true);
Reg.WriteString('',ClassID);

Zitat von
himitsu:
in "*\shellex\ContextMenuHandlers\myname" werden die ClassIDs "registrierter" ContextMenu-Handler (meißt DLLs) angegeben
in "*\shell\myname" kannst du direkt eine Exe verknüpfen (hierfür gibt es in der
DP auch mehrere Beispiele zu finden)
Das verknüpfen einer EXE unter *\shell\name war kein Problem und funktionierte auch. Dabei wurde das Programm nur jedes Mal neu geöffnet und ich habe gelesen, dass wenn man *\shellex\... benutzt dieses Problem nicht besteht. Deswegen wollte ich eine Verknüpfung mit einer EXE ins *\Shellex\ContextMenuHandlers\ schreiben.

Zitat von
Luckie:
Ich gehe mal davon aus, dass er eine Shellextension hat.
Was meinst du damit genau?! Also ich habe keine
DLL oder dergleichen. Ich möchte nur dass ein Kontext Menü im Exlporer erscheint, das die Dateien mit meinem Programm öffnet und den Parameter %1 dabei übergibt. Also so, wie es auch mit *\Shell\Name gehen würde. Allerdings sollen eben auch mehrere Dateien gleichzeitig übertragen werden können. Oder geht das bei *\ShellEx\ContextMenuHandlers nur mit einer
DLL-Verknüpfung?