Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Vorhandene Dateiendungen auf mein Programm registrieren

  Alt 22. Aug 2006, 16:17
Moin Gausi,

das ist im Prinzip gar nicht so kompliziert wie es Dir im Moment erscheint.
Seit Windows 2000 gibt es die Zweige HKEY_CURRENT_USER\Software\Classes und HKEY_LOCAL_MACHINE\Software\Classes.
Vorher gab es nur den unter HKEY_LOCAL_MACHINE.
Der Key HKEY_CLASSES_ROOT ist kein eigener Registry-Hive, sondern zeigt nur die Daten der beiden o.g. Zweige zusammengefasst an, wobei die Daten unter HKEY_CURRENT_USER Vorrang haben. Existiert als eine Verknüpfung in beiden Zweigen, so wird der Wert des aktuellen Users angezeigt (und verwendet).
Vor Windows 2000 war HKEY_CLASSES_ROOT identisch mit HKEY_LOCAL_MACHINE\Software\Classes.

Deutlich wird das, wenn Du einfach mal von Hand etwas einträgst.
Trägst Du, z.B., unter HKEY_CLASSES_ROOT den Key .test ein, so findest Du diesen Eintrag wieder unter HKEY_LOCAL_MACHINE\Software\Classes
Jetzt kannst Du dort noch einen Wert hinzufügen (z.B. TEST mit dem Wert LOCAL), so wirst Du unter diese Änderung auch in HKEY_CLASSSES_ROOT wiederfinden.
Wenn Du jetzt noch manuell den Key .test unter HKEY_CURRENT_USER\Software\Classes hinzufügst (z.B. mit dem Wert TEST Inhalt CURRENT), so siehst Du diesen Eintrag in HKEY_CLASSES_ROOT.
Löscht Du jetzt .test in HKEY_CLASSES_ROOT, und aktualisierst, so steht dort wieder der Wert aus HKEY_LOCAL_MACHINE\Software\Classes.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat