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.