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: 12057 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): ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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
ShowMessage('A chave contém sub-chaves');
end
else
begin
ShowMessage('A chave não contém sub-chaves');
end;
end
else
begin
ShowMessage('Não consegui abrir a chave informada');
end;
// vamos liberar o registro
reg.Free;
end;
Veja agora como podemos verificar se a chave Console, dentro de HKEY_CURRENT_USER possui sub-chaves (no Windows XP este teste resultará falso): ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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
ShowMessage('A chave contém sub-chaves');
end
else
begin
ShowMessage('A chave não contém sub-chaves');
end;
end
else
begin
ShowMessage('Não consegui abrir a chave informada');
end;
// vamos liberar o registro
reg.Free;
end;
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 |
|
Java - Como testar se uma determinada chave está contida no HashMap do Java usando o método containsKey() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





