Jump to content


Photo

Programa - Altera Registro


  • Faça o login para participar
16 replies to this topic

#16 corvox

corvox

    That's No Easy Way Out

  • Usuários
  • 434 posts
  • Sexo:Masculino

Posted 06/03/2005, 22:36

Eu enviei pro meu colega e ele disse que da um erro no NoSplash pq sera eu acho q nao deve ta criando a chave? oia o codigo

// Verifica se string contém um inteiro

function IsInteger(TestaString:String):Boolean;
begin
try
StrToInt(TestaString);
except
On EConvertError do Result:=False;
else
Result:=True;
end;
end;

// Mudando valor Int ou String

procedure MudaValor(RootKey:HKEY;Chave,Nome:String;Valor:Variant);
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
Reg.RootKey:=RootKey;
Reg.OpenKey(Chave,False);
if IsInteger(Valor) then
Reg.WriteInteger(Nome,Valor)
else
Reg.WriteString(Nome,Valor);
Reg.CloseKey;
Reg.Destroy;
end;

procedure CriaValor(RootKey:HKEY;Chave,Nome:String;Valor:Integer);
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
Reg.RootKey:=RootKey;
Reg.OpenKey(Chave,False);
Reg.WriteInteger(Nome,Valor);
Reg.CloseKey;
Reg.Destroy;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
// Chaves alteradas
MudaValor(HKEY_CURRENT_USER,'Software\Microsoft\Internet Explorer\Main','Start Page','http://www.compuativa.com.br'); // Pagina Incial

// Chaves criadas
CriaValor(HKEY_LOCAL_MACHINE,'SYSTEM\CurrentControlSet\Services\Tcpip\Parameters','AutoEndTasks',1); // AutoEndTasks

// Concluidas
showmessage('Chaves alteradas com sucesso!');
end;

Se pde me ajudar ?

Edição feita por: corvox, 06/03/2005, 22:39.


#17 corvox

corvox

    That's No Easy Way Out

  • Usuários
  • 434 posts
  • Sexo:Masculino

Posted 08/08/2005, 20:07

Olá ;)

Voltei a mexer neste programa, estou gostando cada vez mais de mexer no registro do windows, mas gostaria de perguntar, caso a chave fosse do tipo REG_BINARY teria algum problema deu ultilizar a função

procedure MudaValor(RootKey:HKEY;Chave,Nome:String;Valor:Variant);
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
Reg.RootKey:=RootKey;
Reg.OpenKey(Chave,False);
if IsInteger(Valor) then
Reg.WriteInteger(Nome,Valor)
else
Reg.WriteString(Nome,Valor);
Reg.CloseKey;
Reg.Destroy;
end;

Como poderia adaptar a funcao para todos os tipos de registros e se o registro não existir que criasse a chave, pois irei alterar e criarvarias chaves no momento.

Agradeço a ajuda desde já (y)

Edição feita por: corvox, 08/08/2005, 20:17.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq