Você está aqui: Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows) |
Como testar se uma determinada chave do registro do Windows possui sub-chavesQuantidade de visualizações: 11924 vezes |
Em algumas ocasiões precisamos saber se uma determinada chave do registro do Windows possui sub-chaves, talvez com o propósito de excluí-las antes de excluir a chave-mãe. Para isso podemos usar o método HasSubKeys da classe TRegistry. Este método não recebe nenhum argumento e retorna um valor Boolean informando se a chave atual possui sub-chaves. Veja um trecho de código no qual verificamos se a chave Control Panel dentro de HKEY_CURRENT_USER possui sub-chaves (no Windows XP este teste resultará verdadeiro): procedure TForm3.Button4Click(Sender: TObject); var reg: TRegistry; begin // uses Registry // vamos criar uma instância da classe TRegistry reg := TRegistry.Create; // vamos abrir uma chave dentro de HKEY_CURRENT_USER reg.RootKey := HKEY_CURRENT_USER; // vamos abrir a chave HKEY_CURRENT_USER\Control Panel if reg.OpenKey('Control Panel', False) then begin // vamos verificar se esta chave contém sub-chaves if reg.HasSubKeys then begin Veja agora como podemos verificar se a chave Console, dentro de HKEY_CURRENT_USER possui sub-chaves (no Windows XP este teste resultará falso): procedure TForm3.Button4Click(Sender: TObject); var reg: TRegistry; begin // uses Registry // vamos criar uma instância da classe TRegistry reg := TRegistry.Create; // vamos abrir uma chave dentro de HKEY_CURRENT_USER reg.RootKey := HKEY_CURRENT_USER; // vamos abrir a chave HKEY_CURRENT_USER\Console if reg.OpenKey('Console', False) then begin // vamos verificar se esta chave contém sub-chaves if reg.HasSubKeys then begin Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |