Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#21

Re: Explorer-Kontextmenü in eigener Anwendung?

  Alt 4. Dez 2007, 17:39
Also ich weiß nicht was du hast ... es steht doch fast alles in der Registry (es sei denn irgendein Programm hat Teile über einen Hook eingefügt, aber die grundlegenden Dinge steh drin)

Im Grunde steht nahezu alles im Zweig HKEY_CLASSES_ROOT.

und nein, es muß nicht sein das die angezeigten Namen in der Registry stehn, aber wo du die Namen herbekommst steht dann zumindestens dort.
OK, für die Standard-Menüs steht nur ein englischer, überall auf der Welt einheitlicher, Name und der angezeigte String steht in irgendeiner von Windows Ressouren-DLLs drin.

Für "Öffnen" (deutsches Windows) steht da z.B. "open".

als Beispiel schau dir mal die TXT-Dateien an
> HKEY_CLASSES_ROOT\.txt
und in dem Namen des darin enthaltenen Standardeintrags (meist "txtfile")
> HKEY_CLASSES_ROOT\txtfile
dazu dann noch HKEY_CLASSES_ROOT\* (für alle Datei-/Ordner-Typen)
und den Zweig HKEY_CLASSES_ROOT\file (für alle Dateien)

Interessant sind speziell die Unterordner "shell"
> z.B. HKEY_CLASSES_ROOT\txtfile\shell

Das Ganze mußt du dir dan nur noch zusammensuchen, kombinieren und anzeigen.



PS: die Standards kannst du dir auch ganz einfach machen
eine PopupMenü mit "Öffnen", "Drucken"... erstellen
und dann z.B. ShellExecute(Handle, 'open', Datei, ...
ShellExecute(Handle, 'print', Datei, ...
u.s.w. aufrufen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat