Share via


Chave HKEY_CLASSES_ROOT

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, CLSIDs e IIDs. Destina-se principalmente à compatibilidade com o Registro no Windows de 16 bits.

As informações de extensão de nome de arquivo e registro de classe são armazenadas nas chaves HKEY_LOCAL_MACHINE e HKEY_CURRENT_USER . A chaveHKEY_LOCAL_MACHINE\Software\Classes contém configurações padrão que podem ser aplicadas a todos os usuários no computador local. A chaveHKEY_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 manipular arquivos .doc. Mas um usuário pode substituir essa configuração especificando um aplicativo diferente no Registro.

Funções do Registro, como RegOpenKeyEx ou RegQueryValueEx , permitem que você especifique 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 em 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ê gravar chaves em 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 emHKEY_LOCAL_MACHINE\Software\Classes.

Os processos em execução em um contexto de segurança diferente do do usuário interativo não devem usar a chave HKEY_CLASSES_ROOT com as funções do Registro. 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 de HKEY_LOCAL_MACHINE\Software\Classes com as configurações de um usuário especificado, esses processos podem chamar a função RegOpenUserClassesRoot . Por exemplo, um thread que representa 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 do usuário especificado não tiver sido carregado. O sistema carrega automaticamente o perfil do 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 runtime COM ignorará a configuração COM por usuário e acessará apenas a configuração COM por computador. Os aplicativos que exigem direitos de administrador devem registrar objetos COM dependentes durante a instalação no repositório de configuração COM por computador (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 repositório de configuração COM por computador ou por usuário (HKEY_LOCAL_MACHINE\Software\Classes ou HKEY_CURRENT_USER\Software\Classes).

HKEY_CLASSES_ROOT (Referência do Registro do Kit de Recursos)