Thema: Delphi Kontexmenü Problem

Einzelnen Beitrag anzeigen

bigg
(Gast)

n/a Beiträge
 
#10

Re: Kontexmenü Problem

  Alt 18. Sep 2004, 14:17
hi,

nutze in jedem Fall die von Sprint angesprochene Variante.
Ich habe mir ebenfalls schon vor etwas länger Zeit eine ShellExtension programmiert.
Du erstellst eine DLL und bindest diese in die Explorer.exe über die Registry ein.
Der Registry-Pfad ist "HKEY_CLASSES_ROOT\*\shellex". Da wirst du auch
wohlmöglich die TGUID von WinRar wiederfinden.
(TGUID ist ein Hexadezimalwert, such einfach mal nach dieser ID)


Um mit der DLL und deinem Programm Daten auszutauschen, wirst du wohl um WM_CopyData
nicht herum kommen. Damit wirst du dann die Pfade an dein Programm schicken.

Der Vorteil einer ShellExtension ist:
- Funktion auf allen Windows-Versionen
- ParamStr(i) übergibt nur eine begrenzte Anzahl von Parametern, somit ist es nicht möglich
mal eben 100 Dateipfade mit einem Mal zu übergeben, bei einer ShellExtension schon
- mehrere gewählte Dateien werden so wesentlich schneller geöffnet bzw. das
Hauptprogramm wird nicht immer wieder geöffnet
- man kann Dateien, Ordner oder Laufwerke filtern usw.
  Mit Zitat antworten Zitat