Меню

Access to windows registry key hkey classes root

Что такое HKEY_CLASSES_ROOT?

Подробная информация о кусте реестра HKEY_CLASSES_ROOT

HKEY_CLASSES_ROOT, часто сокращенно обозначаемый как HKCR , является кустом реестра в реестре Windows и содержит информацию об ассоциации расширений файлов, а также программный идентификатор (ProgID), идентификатор класса (CLSID) и идентификатор интерфейса (IID) ) данные.

Проще говоря, куст реестра HKEY_CLASSES_ROOT содержит необходимую информацию, чтобы Windows знала, что делать, когда вы просите ее что-то сделать, например просмотреть содержимое диска или открыть файл определенного типа и т. Д.

Как добраться до HKEY_CLASSES_ROOT

HKEY_CLASSES_ROOT – куст реестра и находится на верхнем уровне в редакторе реестра, в корне всего реестра Windows:

Откройте редактор реестра.

Самый простой способ сделать это во всех версиях Windows – открыть диалоговое окно «Выполнить» с помощью WIN + R , и ввести regedit .

Найдите HKEY_CLASSES_ROOT в левой части редактора реестра.

Вы можете увидеть его не сразу, если недавно использовали реестр и оставили открытыми различные ульи или ключи. Нажмите Домой на клавиатуре, чтобы увидеть HKCR в верхней части левой панели.

Дважды нажмите или дважды нажмите 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 \ AudioCD
  • HKEY_CLASSES_ROOT \ dllfile

Каждый из этих разделов реестра хранит информацию о том, что должна делать Windows, если дважды щелкнуть или дважды щелкнуть файл с таким расширением. Он может включать в себя список программ, найденных в разделе «Открыть с помощью …» при щелчке правой кнопкой мыши/касании файла, и путь к каждому указанному приложению.

Например, на вашем компьютере, если дважды щелкнуть или дважды щелкнуть файл с именем draft.rtf , WordPad может открыть файл. Данные реестра, которые делают это, хранятся в ключе HKEY_CLASSES_ROOT \ .rtf , который определяет WordPad как программу, которая должна открывать файл 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 \
  • HKEY_CLASSES_ROOT \ CLSID \
  • HKEY_CLASSES_ROOT \ CLSID \

Все ключи IID находятся в подразделе Интерфейс :

  • HKEY_CLASSES_ROOT \ Interface \
  • HKEY_CLASSES_ROOT \ Interface \
  • HKEY_CLASSES_ROOT \ Interface \

Для чего нужны ключи ProgID, CLSID и IID, они связаны с некоторыми очень техническими аспектами компьютерного программирования и выходят за рамки этого обсуждения. Тем не менее, вы можете прочитать больше обо всех трех здесь, здесь и здесь, соответственно.

Резервное копирование куста HKEY_CLASSES_ROOT

Без исключения, вы всегда должны делать резервные копии любых записей реестра, которые вы планируете редактировать или удалять. См. Как сделать резервную копию реестра Windows, если вам нужна помощь в резервном копировании HKEY_CLASSES_ROOT или любого другого места в реестре в файл REG.

Если что-то пойдет не так, вы всегда можете восстановить реестр 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_US/Software \> C) также содержит специфичную для пользователя информацию. Даже если это так, HKEY_CLASSES_ROOT по-прежнему может просматривать любой пользователь.

Это, конечно, означает, что когда новый ключ реестра создается в кусте HKEY_CLASSES_ROOT, тот же самый будет появляться в HKEY_LOCAL_MACHINE \ Software \ Classes , и когда один из них удаляется из любого из них, тот же ключ удалены из другого места.

Если раздел реестра находится в обоих местах, но каким-то образом конфликтует, данные, найденные в кусте вошедшего в систему пользователя, HKEY_CURRENT_USER \ Software \ Classes , имеют приоритет и используются в HKEY_CLASSES_ROOT.

Registry Key Security and Access Rights

The Windows security model enables you to control access to registry keys. For more information about security, see Access-Control Model.

You can specify a security descriptor for a registry key when you call the RegCreateKeyEx or RegSetKeySecurity function. If you specify NULL, the key gets a default security descriptor. The ACLs in a default security descriptor for a key are inherited from its direct parent key.

The valid access rights for registry keys include the DELETE, READ_CONTROL, WRITE_DAC, and WRITE_OWNER standard access rights. Registry keys do not support the SYNCHRONIZE standard access right.

The following table lists the specific access rights for registry key objects.

Value Meaning
KEY_ALL_ACCESS (0xF003F) Combines the STANDARD_RIGHTS_REQUIRED, KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, and KEY_CREATE_LINK access rights.
KEY_CREATE_LINK (0x0020) Reserved for system use.
KEY_CREATE_SUB_KEY (0x0004) Required to create a subkey of a registry key.
KEY_ENUMERATE_SUB_KEYS (0x0008) Required to enumerate the subkeys of a registry key.
KEY_EXECUTE (0x20019) Equivalent to KEY_READ.
KEY_NOTIFY (0x0010) Required to request change notifications for a registry key or for subkeys of a registry key.
KEY_QUERY_VALUE (0x0001) Required to query the values of a registry key.
KEY_READ (0x20019) Combines the STANDARD_RIGHTS_READ, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, and KEY_NOTIFY values.
KEY_SET_VALUE (0x0002) Required to create, delete, or set a registry value.
KEY_WOW64_32KEY (0x0200) Indicates that an application on 64-bit Windows should operate on the 32-bit registry view. This flag is ignored by 32-bit Windows. For more information, see Accessing an Alternate Registry View.
This flag must be combined using the OR operator with the other flags in this table that either query or access registry values.
Windows 2000: This flag is not supported.
KEY_WOW64_64KEY (0x0100) Indicates that an application on 64-bit Windows should operate on the 64-bit registry view. This flag is ignored by 32-bit Windows. For more information, see Accessing an Alternate Registry View.
This flag must be combined using the OR operator with the other flags in this table that either query or access registry values.
Windows 2000: This flag is not supported.
KEY_WRITE (0x20006) Combines the STANDARD_RIGHTS_WRITE, KEY_SET_VALUE, and KEY_CREATE_SUB_KEY access rights.

When you call the RegOpenKeyEx function, the system checks the requested access rights against the key’s security descriptor. If the user does not have the correct access to the registry key, the open operation fails. If an administrator needs access to the key, the solution is to enable the SE_TAKE_OWNERSHIP_NAME privilege and open the registry key with WRITE_OWNER access. For more information, see Enabling and Disabling Privileges.

You can request the ACCESS_SYSTEM_SECURITY access right to a registry key if you want to read or write the key’s system access control list (SACL). For more information, see Access-Control Lists (ACLs) and SACL Access Right.

To view the current access rights for a key, including the predefined keys, use the Registry Editor (Regedt32.exe). After navigating to the desired key, go to the Edit menu and select Permissions.

Windows registry information for advanced users

This article describes the Windows registry and provides information about how to edit and back up it.

Original product version: В Windows 10 — all editions, Windows Server 2012 R2
Original KB number: В 256986

Description of the registry

The Microsoft Computer Dictionary, Fifth Edition, defines the registry as:

A central hierarchical database used in Windows 98, Windows CE, Windows NT, and Windows 2000 used to store information that is necessary to configure the system for one or more users, applications, and hardware devices.

The Registry contains information that Windows continually references during operation, such as profiles for each user, the applications installed on the computer and the types of documents that each can create, property sheet settings for folders and application icons, what hardware exists on the system, and the ports that are being used.

The Registry replaces most of the text-based .ini files that are used in Windows 3.x and MS-DOS configuration files, such as the Autoexec.bat and Config.sys. Although the Registry is common to several Windows operating systems, there are some differences among them. A registry hive is a group of keys, subkeys, and values in the registry that has a set of supporting files that contain backups of its data. The supporting files for all hives except HKEY_CURRENT_USER are in the % SystemRoot%\System32\Config folder on Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, and Windows Vista. The supporting files for HKEY_CURRENT_USER are in the %SystemRoot%\Profiles\Username folder. The file name extensions of the files in these folders indicate the type of data that they contain. Also, the lack of an extension may sometimes indicate the type of data that they contain.

Registry hive Supporting files
HKEY_LOCAL_MACHINE\SAM Sam, Sam.log, Sam.sav
HKEY_LOCAL_MACHINE\Security Security, Security.log, Security.sav
HKEY_LOCAL_MACHINE\Software Software, Software.log, Software.sav
HKEY_LOCAL_MACHINE\System System, System.alt, System.log, System.sav
HKEY_CURRENT_CONFIG System, System.alt, System.log, System.sav, Ntuser.dat, Ntuser.dat.log
HKEY_USERS\DEFAULT Default, Default.log, Default.sav

In Windows 98, the registry files are named User.dat and System.dat. In Windows Millennium Edition, the registry files are named Classes.dat, User.dat, and System.dat.

Security features in Windows let an administrator control access to registry keys.

The following table lists the predefined keys that are used by the system. The maximum size of a key name is 255 characters.

Folder/predefined key Description
HKEY_CURRENT_USER Contains the root of the configuration information for the user who is currently logged on. The user’s folders, screen colors, and Control Panel settings are stored here. This information is associated with the user’s profile. This key is sometimes abbreviated as HKCU.
HKEY_USERS Contains all the actively loaded user profiles on the computer. HKEY_CURRENT_USER is a subkey of HKEY_USERS. HKEY_USERS is sometimes abbreviated as HKU.
HKEY_LOCAL_MACHINE Contains configuration information particular to the computer (for any user). This key is sometimes abbreviated as HKLM.
HKEY_CLASSES_ROOT Is a subkey of HKEY_LOCAL_MACHINE\Software . The information that is stored here makes sure that the correct program opens when you open a file by using Windows Explorer. This key is sometimes abbreviated as HKCR. Starting with Windows 2000, this information is stored under both the HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER keys. The HKEY_LOCAL_MACHINE\Software\Classes key contains default settings that can apply to all users on the local computer. The HKEY_CURRENT_USER\Software\Classes key contains settings that override the default settings and apply only to the interactive user. The HKEY_CLASSES_ROOT key provides a view of the registry that merges the information from these two sources. HKEY_CLASSES_ROOT also provides this merged view for programs that are designed for earlier versions of Windows. To change the settings for the interactive user, changes must be made under HKEY_CURRENT_USER\Software\Classes instead of under HKEY_CLASSES_ROOT. To change the default settings, changes must be made under HKEY_LOCAL_MACHINE\Software\Classes . If you write keys to a key under HKEY_CLASSES_ROOT, the system stores the information under HKEY_LOCAL_MACHINE\Software\Classes . If you write values to a key under HKEY_CLASSES_ROOT, and the key already exists under HKEY_CURRENT_USER\Software\Classes , the system will store the information there instead of under HKEY_LOCAL_MACHINE\Software\Classes .
HKEY_CURRENT_CONFIG Contains information about the hardware profile that is used by the local computer at system startup.

The registry in 64-bit versions of Windows XP, Windows Server 2003, and Windows Vista is divided into 32-bit and 64-bit keys. Many of the 32-bit keys have the same names as their 64-bit counterparts, and vice versa. The default 64-bit version of Registry Editor that is included with 64-bit versions of Windows XP, Windows Server 2003, and Windows Vista displays the 32-bit keys under the node HKEY_LOCAL_MACHINE\Software\WOW6432Node . For more information about how to view the registry on 64-Bit versions of Windows, see How to view the system registry by using 64-bit versions of Windows.

The following table lists the data types that are currently defined and that are used by Windows. The maximum size of a value name is as follows:

  • Windows Server 2003, Windows XP, and Windows Vista: 16,383 characters
  • Windows 2000: 260 ANSI characters or 16,383 Unicode characters
  • Windows Millennium Edition/Windows 98/Windows 95: 255 characters

Long values (more than 2,048 bytes) must be stored as files with the file names stored in the registry. This helps the registry perform efficiently. The maximum size of a value is as follows:

  • Windows NT 4.0/Windows 2000/Windows XP/Windows Server 2003/Windows Vista: Available memory
  • Windows Millennium Edition/Windows 98/Windows 95: 16,300 bytes

There is a 64K limit for the total size of all values of a key.

Name Data type Description
Binary Value REG_BINARY Raw binary data. Most hardware component information is stored as binary data and is displayed in Registry Editor in hexadecimal format.
DWORD Value REG_DWORD Data represented by a number that is 4 bytes long (a 32-bit integer). Many parameters for device drivers and services are this type and are displayed in Registry Editor in binary, hexadecimal, or decimal format. Related values are DWORD_LITTLE_ENDIAN (least significant byte is at the lowest address) and REG_DWORD_BIG_ENDIAN (least significant byte is at the highest address).
Expandable String Value REG_EXPAND_SZ A variable-length data string. This data type includes variables that are resolved when a program or service uses the data.
Multi-String Value REG_MULTI_SZ A multiple string. Values that contain lists or multiple values in a form that people can read are generally this type. Entries are separated by spaces, commas, or other marks.
String Value REG_SZ A fixed-length text string.
Binary Value REG_RESOURCE_LIST A series of nested arrays that is designed to store a resource list that is used by a hardware device driver or one of the physical devices it controls. This data is detected and written in the \ResourceMap tree by the system and is displayed in Registry Editor in hexadecimal format as a Binary Value.
Binary Value REG_RESOURCE_REQUIREMENTS_LIST A series of nested arrays that is designed to store a device driver’s list of possible hardware resources the driver or one of the physical devices it controls can use. The system writes a subset of this list in the \ResourceMap tree. This data is detected by the system and is displayed in Registry Editor in hexadecimal format as a Binary Value.
Binary Value REG_FULL_RESOURCE_DESCRIPTOR A series of nested arrays that is designed to store a resource list that is used by a physical hardware device. This data is detected and written in the \HardwareDescription tree by the system and is displayed in Registry Editor in hexadecimal format as a Binary Value.
None REG_NONE Data without any particular type. This data is written to the registry by the system or applications and is displayed in Registry Editor in hexadecimal format as a Binary Value
Link REG_LINK A Unicode string naming a symbolic link.
QWORD Value REG_QWORD Data represented by a number that is a 64-bit integer. This data is displayed in Registry Editor as a Binary Value and was introduced in Windows 2000.

Back up the registry

Before you edit the registry, export the keys in the registry that you plan to edit, or back up the whole registry. If a problem occurs, you can then follow the steps in the Restore the registry section to restore the registry to its previous state. To back up the whole registry, use the Backup utility to back up the system state. The system state includes the registry, the COM+ Class Registration Database, and your boot files. For more information about how to use the Backup utility to back up the system state, see the following articles:

Edit the registry

To modify registry data, a program must use the registry functions that are defined in Registry Functions.

Administrators can modify the registry by using Registry Editor (Regedit.exe or Regedt32.exe), Group Policy, System Policy, Registry (.reg) files, or by running scripts such as VisualBasic script files.

Use the Windows user interface

We recommend that you use the Windows user interface to change your system settings instead of manually editing the registry. However, editing the registry may sometimes be the best method to resolve a product issue. If the issue is documented in the Microsoft Knowledge Base, an article with step-by-step instructions to edit the registry for that issue will be available. We recommend that you follow those instructions exactly.

Use Registry Editor

Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

You can use Registry Editor to do the following actions:

  • Locate a subtree, key, subkey, or value
  • Add a subkey or a value
  • Change a value
  • Delete a subkey or a value
  • Rename a subkey or a value

The navigation area of Registry Editor displays folders. Each folder represents a predefined key on the local computer. When you access the registry of a remote computer, only two predefined keys appear: HKEY_USERS and HKEY_LOCAL_MACHINE.

Use Group Policy

Microsoft Management Console (MMC) hosts administrative tools that you can use to administer networks, computers, services, and other system components. The Group Policy MMC snap-in lets administrators define policy settings that are applied to computers or users. You can implement Group Policy on local computers by using the local Group Policy MMC snap-in, Gpedit.msc. You can implement Group Policy in Active Directory by using the Active Directory Users and Computers MMC snap-in. For more information about how to use Group Policy, see the Help topics in the appropriate Group Policy MMC snap-in.

Use a Registration Entries (.reg) file

Create a Registration Entries (.reg) file that contains the registry changes, and then run the .reg file on the computer where you want to make the changes. You can run the .reg file manually or by using a logon script. For more information, see How to add, modify, or delete registry subkeys and values by using a Registration Entries (.reg) file.

Use Windows Script Host

The Windows Script Host lets you run VBScript and JScript scripts directly in the operating system. You can create VBScript and JScript files that use Windows Script Host methods to delete, to read, and to write registry keys and values. For more information about these methods, visit the following Microsoft Web sites:

Use Windows Management Instrumentation

Windows Management Instrumentation (WMI) is a component of the Microsoft Windows operating system and is the Microsoft implementation of Web-Based Enterprise Management (WBEM). WBEM is an industry initiative to develop a standard technology for accessing management information in an enterprise environment. You can use WMI to automate administrative tasks (such as editing the registry) in an enterprise environment. You can use WMI in scripting languages that have an engine on Windows and that handle Microsoft ActiveX objects. You can also use the WMI Command-Line utility (Wmic.exe) to modify the Windows registry.

Use Console Registry Tool for Windows

You can use the Console Registry Tool for Windows (Reg.exe) to edit the registry. For help with the Reg.exe tool, type reg /? at the Command Prompt, and then click OK.

Restore the registry

To restore the registry, use the appropriate method.

Method 1: Restore the registry keys

To restore registry subkeys that you exported, double-click the Registration Entries (.reg) file that you saved in the Export registry subkeys section. Or, you can restore the whole registry from a backup. For more information about how to restore the whole registry, see the Method 2: Restore the whole registry section later in this article.

Method 2: Restore the whole registry

To restore the whole registry, restore the system state from a backup. For more information about how to restore the system state from a backup, see How to use Backup to protect data and restore files and folders on your computer in Windows XP and Windows Vista.

Backing up the system state also creates updated copies of the registry files in the %SystemRoot%\Repair folder.

References

For more information, visit the following Web sites:

The Windows Server Catalog of Tested Products is a reference for products that have been tested for Windows Server compatibility.

Data Protection Manager (DPM) is a key member of the Microsoft System Center family of management products and is designed to help IT professionals manage their Windows environment. DPM is the new standard for Windows backup and recovery and delivers continuous data protection for Microsoft application and file servers that use seamlessly integrated disk and tape media. For more information about how to back up and restore the registry, see How to back up and restore the registry in Windows XP and Windows Vista.

Читайте также:  Windows всплывает черное окно
Adblock
detector