HKEY_CLASSES_ROOT (HKCR CLSID)

HKEY_CLASSES_ROOT, często skracany jako HKCR, jest gałąź rejestru w Rejestr systemu Windows i zawiera rozszerzenie pliku informacje o powiązaniach, a także identyfikator programowy (ProgID), identyfikator klasy (CLSID) i dane identyfikatora interfejsu (IID).

Mówiąc najprościej, gałąź rejestru HKEY_CLASSES_ROOT zawiera niezbędne informacje, aby system Windows wiedział, co zrobić, gdy poprosisz go o zrobienie czegoś, na przykład wyświetlenie zawartości prowadzić samochód, lub otwórz określony typ plikitp.

Gałąź rejestru HKEY_CLASSES_ROOT w systemie Windows 10
Gałąź rejestru HKEY_CLASSES_ROOT (Windows 10).

Jak dostać się do HKEY_CLASSES_ROOT

HKEY_CLASSES_ROOT to gałąź rejestru, więc znajduje się na najwyższym poziomie w Edytorze rejestru, w źródło całego rejestru systemu Windows:

  1. Otwórz Edytor rejestru.

    Najłatwiej to zrobić we wszystkich wersjach systemu Windows, otwierając okno dialogowe Uruchom za pomocą WYGRAJ+Ri wejdź regedit.

  2. Odnaleźć HKEY_CLASSES_ROOT w lewym obszarze Edytora rejestru.

    Możesz nie zobaczyć tego od razu, jeśli ostatnio korzystałeś z rejestru i zostawiłeś różne ule lub

    Klucze otwarty. Uderzyć Dom na klawiaturze, aby wyświetlić HKCR na samej górze lewego okienka.

  3. Kliknij dwukrotnie lub dotknij dwukrotnie HKEY_CLASSES_ROOT aby rozwinąć ul lub użyj małej strzałki w lewo.

Podklucze rejestru w kluczu HKEY_CLASSES_ROOT

Lista kluczy rejestru w gałęzi HKEY_CLASSES_ROOT jest bardzo długa i równie zagmatwana. Nie możemy wyjaśnić każdego z tysięcy kluczy, które możesz zobaczyć, ale możemy podzielić go na kilka łatwych do zarządzania części, które, miejmy nadzieję, nieco wyjaśnią tę część rejestru.

Oto niektóre z wielu kluczy skojarzeń rozszerzeń plików, które można znaleźć w gałęzi HKEY_CLASSES_ROOT, z których większość zaczyna się od kropki:

  • HKEY_CLASSES_ROOT\.avi
  • HKEY_CLASSES_ROOT\.bmp
  • HKEY_CLASSES_ROOT\.exe
  • HKEY_CLASSES_ROOT\.html
  • HKEY_CLASSES_ROOT\.pdf
  • HKEY_CLASSES_ROOT\AudioCD
  • HKEY_CLASSES_ROOT\plik dll
  • ...

Każdy z tych kluczy rejestru przechowuje informacje o tym, co system Windows powinien zrobić po dwukrotnym kliknięciu lub dwukrotnym dotknięciu pliku z tym rozszerzeniem. Może zawierać listę programów znalezionych w sekcji „Otwórz za pomocą...” po kliknięciu pliku prawym przyciskiem myszy/naciśnięciem oraz ścieżkę do każdej wymienionej aplikacji.

Na przykład na komputerze, gdy otwierasz plik o nazwie szkic.rtf, WordPad może otworzyć plik. Dane rejestru, które to powodują, są przechowywane w HKEY_CLASSES_ROOT\.rtf klawisz, który definiuje WordPad jako program, który powinien otworzyć RTF plik.

Ze względu na złożoność konfiguracji kluczy HKEY_CLASSES_ROOT, zdecydowanie nie rób Zalecamy zmianę domyślnych skojarzeń plików z poziomu rejestru. Zamiast tego zobacz Jak zmienić skojarzenia plików w systemie Windows aby uzyskać instrukcje, jak to zrobić z poziomu normalnego interfejsu systemu Windows.

HKCR i CLSID, ProgID i IID

Pozostałe klucze w HKEY_CLASSES_ROOT to klucze ProgID, CLSID i IID. Oto kilka przykładów każdego z nich:

Klucze ProgID znajdują się w katalogu głównym HKEY_CLASSES_ROOT, obok omówionych powyżej skojarzeń rozszerzeń plików:

  • HKEY_CLASSES_ROOT\FaxServer. Serwer faksów
  • HKEY_CLASSES_ROOT\JPEGFilter. Filtr CoJPEG
  • HKEY_CLASSES_ROOT\WindowsMail. Koperta
  • ...

Wszystkie klucze CLSID znajdują się pod Identyfikator CLS podklucz:

  • HKEY_CLASSES_ROOT\CLSID\{00000106-0000-0010-8000-00AA006D2EA4}
  • HKEY_CLASSES_ROOT\CLSID\{06C792F8-6212-4F39-BF70-E8C0AC965C23}
  • HKEY_CLASSES_ROOT\CLSID\{FA10746C-9B63-4b6c-BC49-FC300EA5F256}
  • ...

Wszystkie klucze IID znajdują się pod Berło podklucz:

  • HKEY_CLASSES_ROOT\Interfejs\{0000000d-0000-0000-C000-000000000046}
  • HKEY_CLASSES_ROOT\Interfejs\{00000089-0000-0010-8000-00AA006D2EA4}
  • HKEY_CLASSES_ROOT\Interfejs\{00000129-0000-0000-C000-000000000046}
  • ...

Do czego służą klucze ProgID, CLSID i IID są związane z pewnymi bardzo technicznymi aspektami programowania komputerowego i wykraczają poza zakres tej dyskusji. Możesz jednak przeczytać więcej o wszystkich trzech tutaj, tutaj, oraz tutaj, odpowiednio.

Tworzenie kopii zapasowej gałęzi HKEY_CLASSES_ROOT

Bez wyjątku należy zawsze wykonać kopię zapasową wszelkich wpisów rejestru, które planujesz edytować lub usuwać. Widzieć Jak wykonać kopię zapasową rejestru systemu Windows? jeśli potrzebujesz pomocy w tworzeniu kopii zapasowej HKEY_CLASSES_ROOT lub dowolnej innej lokalizacji w rejestrze do Plik REG.

Jeśli coś pójdzie nie tak, zawsze możesz przywrócić rejestr systemu Windows do stanu roboczego z kopią zapasową. Wszystko, co musisz zrobić, to otworzyć ten plik REG i potwierdzić, że chcesz wprowadzić te zmiany.

Więcej o HKEY_CLASSES_ROOT

Chociaż możesz edytować i całkowicie usunąć dowolny podklucz wewnątrz gałęzi HKEY_CLASSES_ROOT, samego folderu głównego, podobnie jak wszystkich gałęzi w rejestrze, nie można zmienić ani usunąć.

HKEY_CLASSES_ROOT to globalna gałąź, co oznacza, że ​​może zawierać informacje, które dotyczą wszystkich użytkowników komputera i są widoczne dla każdego użytkownika. Jest to w przeciwieństwie do niektórych gałęzi, które zawierają informacje, które dotyczą tylko aktualnie zalogowanego użytkownika.

Jednak ponieważ gałąź HKEY_CLASSES_ROOT jest w rzeczywistości połączonymi danymi znalezionymi w obu HKEY_LOCAL_MACHINE ul (HKEY_LOCAL_MACHINE\Oprogramowanie\Klasy) i HKEY_CURRENT_USER ul (HKEY_CURRENT_USER \ Oprogramowanie \ Klasy), zawiera również informacje specyficzne dla użytkownika. Nawet jeśli tak jest, HKEY_CLASSES_ROOT nadal może być przeglądany przez wszystkich użytkowników.

Oznacza to oczywiście, że po utworzeniu nowego klucza rejestru w gałęzi HKEY_CLASSES_ROOT ten sam pojawi się w HKEY_LOCAL_MACHINE\Oprogramowanie\Klasy, a gdy jeden zostanie usunięty z jednego z nich, ten sam klucz zostanie usunięty z innej lokalizacji.

Jeśli klucz rejestru znajduje się w obu lokalizacjach, ale w jakiś sposób powoduje konflikt, dane znalezione w gałęzi zalogowanego użytkownika, HKEY_CURRENT_USER \ Oprogramowanie \ Klasy, ma priorytet i jest używany w kluczu HKEY_CLASSES_ROOT.