GARANTIR DESCONTO

Fórum Como checar se o diretorio existe na chave do Windows?? #288239

15/07/2005

0

Caros colegas,
Como nunca trabalhei com chaves do registro do Windows estou com uma pequena dúvida, seguinte, eu tenho o seguinte código:

regRegistry := TRegistry.Create;
with regRegistry do
begin
RootKey:= HKEY_LOCAL_MACHINE;
OpenKey(´HKEY_LOCAL_MACHINE´, False);
OpenKey(´Software´, False);
OpenKey(´KEN´, False);
OpenKey(NomePrograma, False);
vNomeReg := ReadString(´Nome´);
vSerieReg := ReadString(´NSerie´);
vDataReg := ReadString(´Data´);
Free;
end;

Mas pode ser q a pasta KEN não exista nessa chave. Como faço p/checar isso??
Desde já agradeço.


Fabiano_aprendiz

Fabiano_aprendiz

Responder

Posts

15/07/2005

Rjun

OpenKey retorna false se a chave não existir.

Exemplo:

procedure LePersistencia;
var
  Reg: TRegIniFile;
begin
  Reg := TRegIniFile.Create(´´);
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    if Reg.OpenKey(´Chave´, False) then
    begin
      NomeReg := Reg.ReadString(´Nome´); 
      SerieReg := Reg.ReadString(´NSerie´); 
      DataReg := Reg.ReadString(´Data´); 
    end;
  finally
    Reg.Free;
  end;
end;



Responder

Gostei + 0

15/07/2005

Massuda

...pode ser q a pasta KEN não exista nessa chave. Como faço p/checar isso?
Use a função TRegistry.KeyExists:
...
  with regRegistry do
    begin
      ...
      if KeyExists(´KEN´) then begin
        OpenKey(´KEN´, False);
        ...
      end
      else
        ...
    end;



Responder

Gostei + 0

15/07/2005

Fabiano_aprendiz

Vlw, mais uma vz eu agradeço aos amigos desse forum pelas dicas. Obrigado.
[]´s,
Fabiano.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar