Hallöle,
viele Fragen über den Aufbau der Registry (besonders HKEY_CLASSES_ROOT) ergeben sich nach stundenlangem Anschauen selbst
Ein paar hartnäckige Fragen habe ich jedoch immer noch, und diese bekomme ich wohl auch nicht durch Überlegen oder googeln raus.
Die folgenden Fragen beziehen sich alle auf HKEY_CLASSES_ROOT:
1. Was ist der Unterschied zwischen den Schlüsseln Shell und ShellEx?
2. Ich habe herausgefunden, dass sowohl der Schlüssel Shell als auch der Schlüssel ShellEx dafür verantwortlich sind, was im Kontextmenü drinne steht (egal ob Ordner oder Datei). Bei Shell sind die Unterschlüssel die jeweiligen Befehle im Kontextmenü, und bei ShellEx sinds irgendwelche komischen Zahlenfolgen, aus denen ich immer noch nicht ganz schlau werde. Meine Frage: Wieso brauche ich überhaupt ShellEx, Shell würde doch vollkommen ausreichen, oder?
3. HKEY_CLASSES_ROOT ist ja quasi in 2 Bereiche unterteilt: Bereich 1 besteht aus allen existierenden Dateiendungen, Bereich 2 besteht aus den existierenden Datentypen. Der (Standard)-Wert des Schlüssels einer Dateiendung gibt den Datentyp dazu wieder. Will ich nun das Kontextmenü eines Datentyps ändern, so habe ich nach meinem bisherigen Wissensstand 2 Möglichkeiten: Shell und ShellEx
Meine Frage nun: ShellEx-Schlüssel finde ich sowohl bei Datentypen als auch bei Dateiendungen direkt wieder, Shell-Schlüssel haben jedoch keine Wirkung, wenn ich sie als Unterschlüssel für eine Dateiendung einbaue, aber wieso? Wenn ich zum Beispiel den Schlüssel ".exe" modifiziere, indem ich den Schlüssel Shell und den Unterschlüssel Shell\Hallo hinzufüge, so hat das keinen Effekt. Modifiziere ich jedoch den dazugehörigen Datentyp "exefile", so funzt es (bei Rechtsklick auf eine Exe existiert ein Befehl "Hallo"). Kann mir das jemand erklären??
4. Manche Dateiendungen haben außer dem (Standard)-namen noch Namen wie "Content Type" oder "PerceivedType", aber was bedeuten diese?
5. Was ist der Unterschied zwischen dem Schlüssel "Folder" und dem Schlüssel "Directory" ??
6. Ich habe mittlerweile herausgefunden, dass es mindestens 4 verschiedene Möglichkeiten gibt, das allgemeingültige Kontextmenü (also für alle Datentypen) zu modifizieren. Wieso ist das so? Eine Möglichkeit ist unter HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
Doch irgendwie stehen da auch nicht alle Befehle drinne. Ich finde zum Beispiel nirgends den Befehl zum ganz normalen "Öffnen" einer Datei, wo ist der gespeichert?
7. Wie kann ich das KontextMenü des Desktops modifizieren?? Ich würde nämlich gerne mein eigenes Dateiformat mit in die Auswahlliste der unter "Rechtsklick-->Neu-->Etwas" aufgelisteten Dateiformate bzw. Ordner einbringen, wenn ich wüsste, wo das in der Registry gespeichert ist.
8. Ich unterscheide nun schon zwischen 4 verschiedenen Kontextmenüs:
- Desktopkontextmenü (beim Rechtsklick irgendwo hin)
- Ordnerkontextmenü (beim Rechtsklick auf Ordner)
- Allgemeines Kontextmenü (erscheint beim Rechtsklick auf jede beliebige Datei)
- Dateiorientieres Kontextmenü (einzelne Kommandos nur beim Rechtsklick auf bestimmte Datentypen)
Gibts da nun noch mehr??
Ich hoffe, dass ich meine Fragen verständlich formuliert habe und ihr mir weiterhelfen könnt.
Viele Grüße
Gapa
viele Fragen über den Aufbau der Registry (besonders HKEY_CLASSES_ROOT) ergeben sich nach stundenlangem Anschauen selbst

Ein paar hartnäckige Fragen habe ich jedoch immer noch, und diese bekomme ich wohl auch nicht durch Überlegen oder googeln raus.
Die folgenden Fragen beziehen sich alle auf HKEY_CLASSES_ROOT:
1. Was ist der Unterschied zwischen den Schlüsseln Shell und ShellEx?
2. Ich habe herausgefunden, dass sowohl der Schlüssel Shell als auch der Schlüssel ShellEx dafür verantwortlich sind, was im Kontextmenü drinne steht (egal ob Ordner oder Datei). Bei Shell sind die Unterschlüssel die jeweiligen Befehle im Kontextmenü, und bei ShellEx sinds irgendwelche komischen Zahlenfolgen, aus denen ich immer noch nicht ganz schlau werde. Meine Frage: Wieso brauche ich überhaupt ShellEx, Shell würde doch vollkommen ausreichen, oder?
3. HKEY_CLASSES_ROOT ist ja quasi in 2 Bereiche unterteilt: Bereich 1 besteht aus allen existierenden Dateiendungen, Bereich 2 besteht aus den existierenden Datentypen. Der (Standard)-Wert des Schlüssels einer Dateiendung gibt den Datentyp dazu wieder. Will ich nun das Kontextmenü eines Datentyps ändern, so habe ich nach meinem bisherigen Wissensstand 2 Möglichkeiten: Shell und ShellEx
Meine Frage nun: ShellEx-Schlüssel finde ich sowohl bei Datentypen als auch bei Dateiendungen direkt wieder, Shell-Schlüssel haben jedoch keine Wirkung, wenn ich sie als Unterschlüssel für eine Dateiendung einbaue, aber wieso? Wenn ich zum Beispiel den Schlüssel ".exe" modifiziere, indem ich den Schlüssel Shell und den Unterschlüssel Shell\Hallo hinzufüge, so hat das keinen Effekt. Modifiziere ich jedoch den dazugehörigen Datentyp "exefile", so funzt es (bei Rechtsklick auf eine Exe existiert ein Befehl "Hallo"). Kann mir das jemand erklären??
4. Manche Dateiendungen haben außer dem (Standard)-namen noch Namen wie "Content Type" oder "PerceivedType", aber was bedeuten diese?
5. Was ist der Unterschied zwischen dem Schlüssel "Folder" und dem Schlüssel "Directory" ??
6. Ich habe mittlerweile herausgefunden, dass es mindestens 4 verschiedene Möglichkeiten gibt, das allgemeingültige Kontextmenü (also für alle Datentypen) zu modifizieren. Wieso ist das so? Eine Möglichkeit ist unter HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
Doch irgendwie stehen da auch nicht alle Befehle drinne. Ich finde zum Beispiel nirgends den Befehl zum ganz normalen "Öffnen" einer Datei, wo ist der gespeichert?
7. Wie kann ich das KontextMenü des Desktops modifizieren?? Ich würde nämlich gerne mein eigenes Dateiformat mit in die Auswahlliste der unter "Rechtsklick-->Neu-->Etwas" aufgelisteten Dateiformate bzw. Ordner einbringen, wenn ich wüsste, wo das in der Registry gespeichert ist.
8. Ich unterscheide nun schon zwischen 4 verschiedenen Kontextmenüs:
- Desktopkontextmenü (beim Rechtsklick irgendwo hin)
- Ordnerkontextmenü (beim Rechtsklick auf Ordner)
- Allgemeines Kontextmenü (erscheint beim Rechtsklick auf jede beliebige Datei)
- Dateiorientieres Kontextmenü (einzelne Kommandos nur beim Rechtsklick auf bestimmte Datentypen)
Gibts da nun noch mehr??
Ich hoffe, dass ich meine Fragen verständlich formuliert habe und ihr mir weiterhelfen könnt.
Viele Grüße
Gapa