Fórum Fazer pelo DELPHI programa Iniciar com o WINDOWS 7 #419451
05/07/2012
0
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
Curtir tópico
+ 0Posts
06/07/2012
Luiz Carlos
Grato
Luiz Carlos
Gostei + 0
09/07/2012
Bruno Leandro
substitua
Registro := TRegistry.Create(KEY_WRITE);
por
Registro := TRegistry.Create(KEY_WRITE OR KEY_WOW64_64KEY);
Gostei + 0
09/07/2012
Deivison Melo
forte abraço!
Gostei + 0
23/07/2014
Vinicius Berto
Gostei + 0
29/07/2014
Itamar Souza
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
Gostei + 0
23/03/2018
Rogerio Silvano
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;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)