clave de HKEY_CLASSES_ROOT

La clave de HKEY_CLASSES_ROOT (HKCR) contiene asociaciones de extensión de nombre de archivo e información de registro de clases COM, como ProgIDs, CLSID y IIDs. Está pensado principalmente para la compatibilidad con el Registro en Windows de 16 bits.

La información de la extensión de nombre de archivo y registro de clases se almacena en las claves de HKEY_LOCAL_MACHINE y HKEY_CURRENT_USER . La clave HKEY_LOCAL_MACHINE\Software\Classes contiene la configuración predeterminada que se puede aplicar a todos los usuarios del equipo local. La clave deHKEY_CURRENT_USER\Software\Classes contiene la configuración que solo se aplica al usuario interactivo. La clave HKEY_CLASSES_ROOT proporciona una vista del Registro que combina la información de estos dos orígenes. HKEY_CLASSES_ROOT también proporciona esta vista combinada para las aplicaciones diseñadas para versiones anteriores de Windows.

La configuración específica del usuario tiene prioridad sobre la configuración predeterminada. Por ejemplo, la configuración predeterminada podría especificar una aplicación determinada para controlar .doc archivos. Sin embargo, un usuario puede invalidar esta configuración especificando una aplicación diferente en el Registro.

Las funciones del Registro como RegOpenKeyEx o RegQueryValueEx permiten especificar la clave de HKEY_CLASSES_ROOT . Al llamar a estas funciones desde un proceso que se ejecuta en la cuenta de usuario interactiva, el sistema combina la configuración predeterminada en HKEY_LOCAL_MACHINE\Software\Classes con la configuración del usuario interactivo en HKEY_CURRENT_USER\Software\Classes. Para obtener más información sobre cómo se combinan estas opciones de configuración, consulte Vista combinada de HKEY_CLASSES_ROOT.

Para cambiar la configuración del usuario interactivo, almacene los cambios en HKEY_CURRENT_USER\Software\Classes en lugar de HKEY_CLASSES_ROOT.

Para cambiar la configuración predeterminada, almacene los cambios en HKEY_LOCAL_MACHINE\Software\Classes. Si escribe claves en una clave en HKEY_CLASSES_ROOT, el sistema almacena la información en HKEY_LOCAL_MACHINE\Software\Classes. Si escribe valores en una clave en HKEY_CLASSES_ROOT y la clave ya existe en HKEY_CURRENT_USER\Software\Classes, el sistema almacenará la información allí en lugar de en HKEY_LOCAL_MACHINE\Software\Classes.

Los procesos que se ejecutan en un contexto de seguridad distinto del del usuario interactivo no deben usar la clave HKEY_CLASSES_ROOT con las funciones del Registro. En su lugar, estos procesos pueden abrir explícitamente la clave deHKEY_LOCAL_MACHINE\Software\Classes para acceder a la configuración predeterminada. Para abrir una clave del Registro que combina el contenido de HKEY_LOCAL_MACHINE\Software\Classes con la configuración de un usuario especificado, estos procesos pueden llamar a la función RegOpenUserClassesRoot . Por ejemplo, un subproceso que suplanta a un cliente puede llamar a RegOpenUserClassesRoot si necesita recuperar una vista combinada para el cliente que se está suplantando. Tenga en cuenta que RegOpenUserClassesRoot produce un error si no se ha cargado el perfil de usuario del usuario especificado. El sistema carga automáticamente el perfil del usuario interactivo al iniciar sesión. Para otros usuarios, debe llamar a la función LoadUserProfile para cargar explícitamente el perfil del usuario.

Si se ejecuta una aplicación con derechos de administrador y control de cuentas de usuario está deshabilitada, el entorno de ejecución COM omite la configuración COM por usuario y solo tiene acceso a la configuración COM por equipo. Las aplicaciones que requieren derechos de administrador deben registrar objetos COM dependientes durante la instalación en el almacén de configuración COM por máquina (HKEY_LOCAL_MACHINE\Software\Classes). Para obtener más información, vea AC: UAC: COM Per-User Configuration.

Windows Server 2003 y Windows XP/2000: Las aplicaciones pueden registrar objetos COM dependientes en el almacén de configuración COM por máquina o por usuario (HKEY_LOCAL_MACHINE\Software\Classes o HKEY_CURRENT_USER\Software\Classes).

HKEY_CLASSES_ROOT (referencia del Registro del Kit de recursos)