有關HKEY_CLASSES_ROOT註冊表配置單元的詳細信息
HKEY_CLASSES_ROOT通常縮寫為HKCR ,是Windows註冊表中的註冊表配置單元 ,包含文件擴展名關聯信息以及編程標識符(ProgID),類ID(CLSID)和接口ID(IID)數據。
盡可能以最簡單的方式,HKEY_CLASSES_ROOT註冊表配置單元包含Windows的必要信息,以便在您要求它執行某些操作時知道該執行什麼操作,例如查看驅動器的內容或打開某種類型的文件等。
如何進入HKEY_CLASSES_ROOT
HKEY_CLASSES_ROOT是一個註冊表配置單元,因此位於註冊表編輯器的頂層:
- 打開註冊表編輯器
- 在註冊表編輯器的左側找到HKEY_CLASSES_ROOT
- 雙擊或雙擊單詞HKEY_CLASSES_ROOT以展開配置單元,或使用左側的小箭頭
如果以前在您的計算機上使用過註冊表編輯器,則可能需要先折疊所有打開的註冊表項,然後才能看到HKEY_CLASSES_ROOT配置單元。 這可以通過與打開相同的方式完成 - 通過雙擊/點擊它們或通過選擇箭頭。
HKEY_CLASSES_ROOT中的註冊表子項
HKEY_CLASSES_ROOT配置單元下的註冊表項列表非常長,同樣令人困惑。 我無法解釋你可能會看到的數千個密鑰中的每一個,但是我可以將它分解成一些可管理的部分,這將有望澄清註冊表的這一部分。
以下是您可以在HKEY_CLASSES_ROOT配置單元下找到的許多文件擴展名關聯密鑰中的一部分,其中大部分將以一段時間開始:
- HKEY_CLASSES_ROOT \ .AVI
- HKEY_CLASSES_ROOT \ .BMP
- HKEY_CLASSES_ROOT \ .exe文件
- HKEY_CLASSES_ROOT \ html的
- HKEY_CLASSES_ROOT \ .PDF
- HKEY_CLASSES_ROOT \音頻CD
- HKEY_CLASSES_ROOT \ dllfile
- ...
這些註冊表鍵中的每一個都存儲有關Windows雙擊或雙擊帶有該擴展名的文件時應執行的操作的信息。 它可能包括右擊/輕敲文件時在“打開方式”部分中找到的程序列表,以及列出的每個應用程序的路徑。
例如,在我的電腦上,當我用draft.rtf的名稱雙擊或雙擊文件時,寫字板打開文件。 發生這種情況的註冊表數據存儲在HKEY_CLASSES_ROOT \ .rtf項中,該項在我的計算機上將寫字板定義為應打開RTF文件的程序。
警告:由於如何設置HKEY_CLASSES_ROOT項的複雜性,我絕對不建議您更改註冊表中的默認文件關聯。 相反,請參閱如何在Windows中更改文件關聯以獲取有關在常規Windows界面中執行此操作的說明。
HKCR& CLSID,ProgID,& IID
HKEY_CLASSES_ROOT中的其餘鍵是ProgID,CLSID和IID鍵。 以下是各自的一些示例:
ProgID鍵位於HKEY_CLASSES_ROOT的根目錄 ,與上面討論的文件擴展名關聯一起:
- HKEY_CLASSES_ROOT \ FaxServer.FaxServer
- HKEY_CLASSES_ROOT \ JPEGFilter.CoJPEGFilter
- HKEY_CLASSES_ROOT \ WindowsMail.Envelope
- ...
所有CLSID鍵位於CLSID子項下:
- 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}
- ...
所有IID密鑰都位於Interface子項下:
- HKEY_CLASSES_ROOT \接口\ {0000000D-0000-0000-C000-000000000046}
- HKEY_CLASSES_ROOT \接口\ {00000089-0000-0010-8000-00AA006D2EA4}
- HKEY_CLASSES_ROOT \接口\ {00000129-0000-0000-C000-000000000046}
- ...
ProgID,CLSID和IID鍵與計算機編程的一些非常技術性的方面有關,並且超出了本討論的範圍。 但是,您可以分別在這里和這裡閱讀更多關於這三個地方的信息。
備份HKEY_CLASSES_ROOT配置單元
毫無例外,您應該始終對您計劃編輯或刪除的任何註冊表項進行備份。 如果您需要將HKEY_CLASSES_ROOT或註冊表中的任何其他位置備份到REG文件 ,請參閱如何備份Windows註冊表 。
如果出現問題,您可以隨時通過備份將Windows註冊表恢復到工作狀態。 您只需雙擊或雙擊該REG文件並確認您想要進行這些更改。
更多關於HKEY_CLASSES_ROOT
儘管您可以編輯並完全刪除HKEY_CLASSES_ROOT配置單元內的任何子項,但根文件夾本身(如註冊表中的所有配置單元)不能被重命名或刪除。
HKEY_CLASSES_ROOT是一個全局配置單元,這意味著它可以包含適用於計算機上所有用戶的信息,並且可供所有用戶查看。 這與一些蜂巢相反,蜂巢的信息僅適用於當前登錄的用戶。
但是,因為HKEY_CLASSES_ROOT配置單元實際上是在HKEY_LOCAL_MACHINE配置單元( HKEY_LOCAL_MACHINE \ Software \ Classes )和HKEY_CURRENT_USER配置單元( HKEY_CURRENT_USER \ Software \ Classes )中找到的組合數據,所以它也包含用戶特定的信息。 即使是這樣,HKEY_CLASSES_ROOT仍然可以被任何和所有用戶瀏覽。
當然,這意味著當在HKEY_CLASSES_ROOT配置單元中創建一個新的註冊表項時,HKEY_LOCAL_MACHINE \ Software \ Classes中將出現同一個註冊表項,並且在從其中一個中刪除一個時,同一個密鑰將從其他位置中刪除。
如果註冊表項駐留在兩個位置,但以某種方式衝突,則在登錄用戶的配置單元HKEY_CURRENT_USER \ Software \ Classes中找到的數據優先並在HKEY_CLASSES_ROOT中使用。