Udostępnij za pośrednictwem


klucz HKEY_CLASSES_ROOT

Klucz HKEY_CLASSES_ROOT (HKCR) zawiera skojarzenia rozszerzeń nazw plików i identyfikatory rejestracji klas COM, takie jak identyfikatory progiD , identyfikatory CLSIDi identyfikatory IID. Jest ona przeznaczona głównie do zapewnienia zgodności z rejestrem w 16-bitowym systemie Windows.

Informacje o rejestracji klasy i rozszerzeniu nazwy pliku są przechowywane zarówno w kluczach HKEY_LOCAL_MACHINE, jak i HKEY_CURRENT_USER. Klucz HKEY_LOCAL_MACHINE\Software\Classes zawiera ustawienia domyślne, które mogą być stosowane do wszystkich użytkowników na komputerze lokalnym. Klucz HKEY_CURRENT_USER\Software\Classes zawiera ustawienia, które mają zastosowanie tylko do użytkownika interakcyjnego. Klucz HKEY_CLASSES_ROOT zawiera widok rejestru, który scala informacje z tych dwóch źródeł. HKEY_CLASSES_ROOT udostępnia również ten scalony widok dla aplikacji przeznaczonych dla poprzednich wersji systemu Windows.

Ustawienia specyficzne dla użytkownika mają priorytet nad ustawieniami domyślnymi. Na przykład ustawienie domyślne może określać określoną aplikację do obsługi plików .doc. Jednak użytkownik może zastąpić to ustawienie, określając inną aplikację w rejestrze.

Funkcje rejestru, takie jak RegOpenKeyEx lub RegQueryValueEx, umożliwiają określenie klucza HKEY_CLASSES_ROOT. Po wywołaniu tych funkcji z procesu uruchomionego na interaktywnym koncie użytkownika system scali ustawienia domyślne w HKEY_LOCAL_MACHINE\Software\Classes z ustawieniami użytkownika interaktywnego w HKEY_CURRENT_USER\Software\Classes. Aby uzyskać więcej informacji na temat sposobu scalania tych ustawień, zobacz Scalony widok HKEY_CLASSES_ROOT.

Aby zmienić ustawienia użytkownika interakcyjnego, zapisz zmiany w HKEY_CURRENT_USER\Software\Classes, a nie HKEY_CLASSES_ROOT.

Aby zmienić ustawienia domyślne, zapisz zmiany w obszarze HKEY_LOCAL_MACHINE\Software\Classes. Jeśli zapisujesz klucze w kluczu w HKEY_CLASSES_ROOT, system przechowuje informacje w HKEY_LOCAL_MACHINE\Software\Classes. Jeśli zapisujesz wartości w kluczu w HKEY_CLASSES_ROOT, a klucz już istnieje w HKEY_CURRENT_USER\Software\Classes, system będzie przechowywać tam informacje zamiast w obszarze HKEY_LOCAL_MACHINE\Software\Classes.

Procesy uruchomione w kontekście zabezpieczeń innym niż interakcyjny użytkownik nie powinny używać klucza HKEY_CLASSES_ROOT z funkcjami rejestru. Zamiast tego takie procesy mogą jawnie otworzyć klucz HKEY_LOCAL_MACHINE\Software\Classes w celu uzyskania dostępu do ustawień domyślnych. Aby otworzyć klucz rejestru, który scala zawartość HKEY_LOCAL_MACHINE\Software\Classes z ustawieniami określonego użytkownika, te procesy mogą wywołać funkcję RegOpenUserClassesRoot. Na przykład wątek, który jest personifikacji klient może wywołać RegOpenUserClassesRoot, jeśli musi pobrać scalony widok dla klienta personifikowanego. Należy pamiętać, że RegOpenUserClassesRoot kończy się niepowodzeniem, jeśli profil użytkownika dla określonego użytkownika nie został załadowany. System automatycznie ładuje profil użytkownika interakcyjnego podczas logowania. Dla innych użytkowników należy wywołać funkcję LoadUserProfile, aby jawnie załadować profil użytkownika.

Jeśli aplikacja jest uruchamiana z uprawnieniami administratora, a kontrola konta użytkownika jest wyłączona, środowisko uruchomieniowe COM ignoruje konfigurację modelu COM dla poszczególnych użytkowników i uzyskuje dostęp tylko do konfiguracji modelu COM dla komputera. Aplikacje, które wymagają uprawnień administratora, powinny rejestrować zależne obiekty COM podczas instalacji do magazynu konfiguracji COM na maszynę (HKEY_LOCAL_MACHINE\Software\Classes). Aby uzyskać więcej informacji, zobacz AC: UAC: COM Per-User Configuration.

windows Server 2003 i Windows XP/2000: aplikacje mogą rejestrować zależne obiekty COM do magazynu konfiguracji com dla poszczególnych komputerów lub użytkownika COM (HKEY_LOCAL_MACHINE\Software\Classes lub HKEY_CURRENT_USER\Software\Classes).

HKEY_CLASSES_ROOT (dokumentacja rejestru zestawu Resource Kit)