HKEY_CLASSES_ROOT Chave
A chave HKEY_CLASSES_ROOT (HKCR) contém associações de extensão de nome de arquivo e informações de registro de classe COM, como ProgIDs, CLSIDse IIDs. Destina-se principalmente à compatibilidade com o registo no Windows de 16 bits.
As informações de registro de classe e extensão de nome de arquivo são armazenadas nas chaves HKEY_LOCAL_MACHINE e HKEY_CURRENT_USER. A chave HKEY_LOCAL_MACHINE\Software\Classes contém configurações padrão que podem ser aplicadas a todos os usuários no computador local. A chave HKEY_CURRENT_USER\Software\Classes contém configurações que se aplicam somente ao usuário interativo. A chave HKEY_CLASSES_ROOT fornece uma exibição do registro que mescla as informações dessas duas fontes. HKEY_CLASSES_ROOT também fornece essa exibição mesclada para aplicativos projetados para versões anteriores do Windows.
As configurações específicas do usuário têm prioridade sobre as configurações padrão. Por exemplo, a configuração padrão pode especificar um aplicativo específico para lidar com arquivos .doc. Mas um usuário pode substituir essa configuração especificando um aplicativo diferente no registro.
As funções do Registro, como RegOpenKeyEx ou RegQueryValueEx, permitem especificar a chave HKEY_CLASSES_ROOT. Quando você chama essas funções de um processo em execução na conta de usuário interativa, o sistema mescla as configurações padrão no HKEY_LOCAL_MACHINE\Software\Classes com as configurações do usuário interativo em HKEY_CURRENT_USER\Software\Classes. Para obter mais informações sobre como essas configurações são mescladas, consulte exibição mesclada de HKEY_CLASSES_ROOT.
Para alterar as configurações do usuário interativo, armazene as alterações em HKEY_CURRENT_USER\Software\Classes em vez de HKEY_CLASSES_ROOT.
Para alterar as configurações padrão, armazene as alterações em HKEY_LOCAL_MACHINE\Software\Classes. Se você escrever chaves para uma chave em HKEY_CLASSES_ROOT, o sistema armazenará as informações em HKEY_LOCAL_MACHINE\Software\Classes. Se você gravar valores em uma chave em HKEY_CLASSES_ROOT, e a chave já existir em HKEY_CURRENT_USER\Software\Classes, o sistema armazenará as informações lá em vez de em HKEY_LOCAL_MACHINE\Software\Classes.
Os processos em execução num contexto de segurança diferente do do utilizador interativo não devem utilizar a chave HKEY_CLASSES_ROOT com as funções de registo. Em vez disso, esses processos podem abrir explicitamente a chave HKEY_LOCAL_MACHINE\Software\Classes para acessar as configurações padrão. Para abrir uma chave do Registro que mescla o conteúdo do HKEY_LOCAL_MACHINE\Software\Classes com as configurações de um usuário especificado, esses processos podem chamar a funçãoRegOpenUserClassesRoot. Por exemplo, um thread que está representando um cliente pode chamar RegOpenUserClassesRoot se precisar recuperar uma exibição mesclada para o cliente que está sendo representado. Observe que RegOpenUserClassesRoot falhará se o perfil de usuário para o usuário especificado não tiver sido carregado. O sistema carrega automaticamente o perfil para o usuário interativo ao fazer logon. Para outros usuários, você precisa chamar a função LoadUserProfile para carregar explicitamente o perfil do usuário.
Se um aplicativo for executado com direitos de administrador e o Controle de Conta de Usuário estiver desabilitado, o tempo de execução COM ignorará a configuração COM por usuário e acessará apenas a configuração COM por máquina. Os aplicativos que exigem direitos de administrador devem registrar objetos COM dependentes durante a instalação no armazenamento de configuração COM por máquina (HKEY_LOCAL_MACHINE\Software\Classes). Para obter mais informações, consulte AC: UAC: COM Per-User Configuration.
Windows Server 2003 e Windows XP/2000: Os aplicativos podem registrar objetos COM dependentes no armazenamento de configuração COM por máquina ou por usuário (HKEY_LOCAL_MACHINE\Software\Classes ou HKEY_CURRENT_USER\Software\Classes).
Tópicos relacionados