Fórum Fazer pelo DELPHI programa Iniciar com o WINDOWS 7 #419451

05/07/2012

0

Olá,

Estou usando o codigo abaixo para fazer com que o programa inicie com o WINDOWS, ele funciona no WINDOWS XP mas no WINDOWS 7 dá erro e o programa não inicia com o WINDOWS 7. Alguem sabe como fazer pelo DELPHI para que o programa inicie com o WINDOWS 7?

Código:

procedure GravaRegistro(Raiz: HKEY; Chave, Valor, Endereco: string); 
var 
  Registro: TRegistry; 
begin 
  Registro := TRegistry.Create(KEY_WRITE); // Chama o construtor do objeto 
  Registro.RootKey := Raiz; //Define a chave raiz 
  Registro.OpenKey(Chave, True); //Cria a chave 
  Registro.WriteString(Valor,  + Endereco + ); //Grava o endereço da sua aplicação no Registro 
  Registro.CloseKey; // Fecha a chave e o objeto 
  Registro.Free; 
end; 


procedure TfrmINICIAR.btnINICIARClick(Sender: TObject); 
begin 
try 
    GravaRegistro(HKEY_CURRENT_USER, Software\\Microsoft\\Windows\\CurrentVersion\\Run, 
      IniciarPrograma, ExtractFilePath(Application.ExeName) + agdatks.exe); 
    MessageDlg(A Agenda TKS iniciará com o Windows!, mtInformation, [mbOk], 0); 
  except 
    MessageDlg(Erro ao gravar registro!, mtInformation, [mbOk], 0); 
  end; 

  frminiciar.Close ; 

end; 


Grato

Luiz Carlos
Luiz Carlos

Luiz Carlos

Responder

Posts

06/07/2012

Luiz Carlos

Alguem saber como fazer pelo DELPHI para que o programa inicie junto com o WINDOWS 7 ?

Grato

Luiz Carlos
Responder

Gostei + 0

09/07/2012

Bruno Leandro

Ola Luiz ja tive problema no windows 7 64bits, talvez seja o caso

substitua
Registro := TRegistry.Create(KEY_WRITE);

por
Registro := TRegistry.Create(KEY_WRITE OR KEY_WOW64_64KEY);

Responder

Gostei + 0

09/07/2012

Deivison Melo

Caso não conseguir com o código que foi orientado, por favor, postar informando para ajudarmos vc da melhor forma possível!

forte abraço!
Responder

Gostei + 0

23/07/2014

Vinicius Berto

Tentou executar a aplicação como Administrador???
Responder

Gostei + 0

29/07/2014

Itamar Souza

Bom dia

Você pode criar um serviço: File + New + other (service)

A programação é igual, ele vai criar Data Module do tipo TService.
vai roda como serviço do windows.

Veja se tem alguma dúvida, é marque a resposta.

att
Responder

Gostei + 0

23/03/2018

Rogerio Silvano

Segue um exemplo de como realizar.:
Nos parâmetros estou passando o nome da chave que eu quero criar mais o nome do programa que deve ser iniciado com windows!

procedure TfrmAthena.ForcaAtualizaMenu;
begin
GravaRegistro(HKEY_CURRENT_USER,'\\Software\\Microsoft\\Windows\\CurrentVersion\\Run',
'ArbameAtualizaMenu', 'G:\\ATHENA\\UPDATE\\' + 'atualiza.exe');
end;

procedure GravaRegistro(Raiz: HKEY; Chave, Nome, Dados: string);
var
Registro: TRegistry;
begin


Registro := TRegistry.Create(KEY_READ); // Chama o construtor do objeto
Registro.RootKey := Raiz; //Define a chave raiz
Registro.Access := KEY_WRITE;

if Registro.OpenKey(Chave, True) then //Cria a chave
begin
if not Registro.ValueExists(Nome) then
begin
Registro.WriteString(Nome, Dados);
end;
end;
Registro.CloseKey; // Fecha a chave e o objeto
Registro.Free;
end;
Responder

Gostei + 0

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

Aceitar