HKEY _ CLASSES _ ROOT Key
Der Schlüssel HKEY _ CLASSES _ ROOT (HKCR) enthält Dateinamenerweiterungszuordnungen und COM-Klassenregistrierungsinformationen wie ProgIDs, CLSIDsund IIDs. Sie dient hauptsächlich der Kompatibilität mit der Registrierung in 16-Bit-Windows.
Klassenregistrierungs- und Dateierweiterungsinformationen werden sowohl unter den Schlüsseln HKEY _ LOCAL _ MACHINE als auch HKEY _ CURRENT _ USER gespeichert. Der Schlüssel HKEY _ LOCAL MACHINE Software Classes _ \ \ enthält Standardeinstellungen, die für alle Benutzer auf dem lokalen Computer gelten können. Der Schlüssel HKEY _ CURRENT USER Software Classes _ \ \ enthält Einstellungen, die nur für den interaktiven Benutzer gelten. Der HKEY _ CLASSES _ ROOT-Schlüssel bietet eine Ansicht der Registrierung, in der die Informationen aus diesen beiden Quellen zusammengeführt werden. HKEY _ CLASSES _ ROOT stellt diese zusammengeführte Ansicht auch für Anwendungen zur Verfügung, die für frühere Versionen von Windows.
Die benutzerspezifischen Einstellungen haben Vorrang vor den Standardeinstellungen. Die Standardeinstellung kann z. B. eine bestimmte Anwendung angeben, die .doc verarbeitet. Benutzer können diese Einstellung jedoch überschreiben, indem sie eine andere Anwendung in der Registrierung angeben.
Mit Registrierungsfunktionen wie RegOpenKeyEx oder RegQueryValueEx können Sie den HKEY _ CLASSES _ ROOT-Schlüssel angeben. Wenn Sie diese Funktionen von einem Prozess aufrufen, der im interaktiven Benutzerkonto ausgeführt wird, führt das System die Standardeinstellungen in HKEY _ LOCAL MACHINE _ Software \ \ Classes mit den Einstellungen des interaktiven Benutzers unter HKEY CURRENT USER Software _ _ Classes \ \ zusammen. Weitere Informationen dazu, wie diese Einstellungen zusammengeführt werden, finden Sie unter Merged View of HKEY CLASSES _ _ ROOT.
Um die Einstellungen für den interaktiven Benutzer zu ändern, speichern Sie die Änderungen unter HKEY _ CURRENT USER Software _ \ \ Classes statt HKEY CLASSES _ _ ROOT.
Um die Standardeinstellungen zu ändern, speichern Sie die Änderungen unter HKEY _ LOCAL MACHINE Software _ \ \ Classes. Wenn Sie Schlüssel in einen Schlüssel unter HKEY _ CLASSES _ ROOT schreiben, speichert das System die Informationen unter HKEY _ LOCAL MACHINE _ \ Software \ Classes. Wenn Sie Werte in einen Schlüssel unter HKEY _ CLASSES _ ROOT schreiben und der Schlüssel bereits unter HKEY CURRENT USER Software Classes (HKEY _ CURRENT _ \ \ USER-Softwareklassen) vorhanden ist, werden die Informationen vom System dort statt unter HKEY LOCAL MACHINE Software Classes (HKEY LOCAL _ _ \ MACHINE-Softwareklassen) \ gespeichert.
Prozesse, die in einem anderen Sicherheitskontext als dem des interaktiven Benutzers ausgeführt werden, sollten den HKEY _ CLASSES _ ROOT-Schlüssel nicht mit den Registrierungsfunktionen verwenden. Stattdessen können solche Prozesse explizit den Schlüssel HKEY _ LOCAL MACHINE _ Software \ \ Classes öffnen, um auf die Standardeinstellungen zu zugreifen. Um einen Registrierungsschlüssel zu öffnen, der den Inhalt der HKEY _ LOCAL _ \ \ MACHINE-Softwareklassen mit den Einstellungen für einen angegebenen Benutzer zusammenführung, können diese Prozesse die RegOpenUserClassesRoot-Funktion aufrufen. Beispielsweise kann ein Thread, der die Identität eines Clients anpersoniert, RegOpenUserClassesRoot aufrufen, wenn er eine zusammengeführte Sicht für den Client abrufen muss, für den die Identität angenommen wird. Beachten Sie, dass RegOpenUserClassesRoot fehlschlägt, wenn das Benutzerprofil für den angegebenen Benutzer nicht geladen wurde. Das System lädt bei der Anmeldung automatisch das Profil für den interaktiven Benutzer. Für andere Benutzer müssen Sie die LoadUserProfile-Funktion aufrufen, um das Profil des Benutzers explizit zu laden.
Wenn eine Anwendung mit Administratorrechten ausgeführt wird und die Benutzerkontensteuerung deaktiviert ist, ignoriert die COM-Runtime die BENUTZERSPEZIFISCHE COM-Konfiguration und greifen nur auf die COMPUTERspezifische COM-Konfiguration zu. Anwendungen, die Administratorrechte erfordern, sollten abhängige COM-Objekte während der Installation im COM-Konfigurationsspeicher pro Computer registrieren (HKEY _ LOCAL MACHINE Software _ \ \ Classes). Weitere Informationen finden Sie unter AC: UAC: COM Per-User Configuration.
Windows Server 2003 und Windows XP/2000: Anwendungen können abhängige COM-Objekte entweder im COMPUTER- oder benutzerspezifischen COM-Konfigurationsspeicher registrieren (HKEY _ LOCAL _ \ MACHINE-Softwareklassen \ oder HKEY _ CURRENT USER _ Software \ \ Classes).