Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Fazer aplicação Delphi iniciar junto com o sistema operacional.


SnoxT
 Compartilhar

Posts Recomendados

A primeira coisa que deve saber é que trabalharemos com o registro do windows então adicione a unit

"Registry" na sua "uses" que deverá ficar assim:

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs,ExtCtrls, Registry, StdCtrls;

 

Adicione abaixo de "type" depois "TForm1 = class(TForm)"os seguintes procedimentos:

procedure GravaRegistro(Raiz: HKEY; Chave, Valor, Endereco: string);

procedure ApagaRegistro(Raiz: HKEY; Chave, Valor : string);

 

 

Adicione abaixo de "implementation" os seguintes códigos:

procedure TForm1.GravaRegistro(Raiz: HKEY; Chave, Valor, Endereco: string);

var

Registro: TRegistry; // criando variável do tipo 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 TForm1.ApagaRegistro(Raiz: HKEY; Chave, Valor: string);

var

Registro: TRegistry;

begin

Registro := TRegistry.Create(KEY_WRITE); // Chama o construtor do objeto

Registro.RootKey := Raiz;

Registro.OpenKey(Chave, True); //Cria a chave

Registro.DeleteValue(Valor); //Grava o endereço da sua aplicação no Registro

Registro.CloseKey; // Fecha a chave e o objeto

Registro.Free;

end;

Agora coloque dois botões no **** e altere a caption deles para "Iniciar" e "Não iniciar".

No evento OnClick do primeiro botão coloque:

try

GravaRegistro(HKEY_LOCAL_MACHINE, 'Software\Microsoft\Windows\CurrentVersion\Run',

'IniciarPrograma', ExtractFilePath(Application.ExeName) + 'Meu_programa.exe');//

MessageDlg('Registro gravado com sucesso!', mtInformation, [mbOk], 0);

except

MessageDlg('Erro ao gravar registro!', mtInformation, [mbOk], 0);

end;

 

Na segunda linha verde você pode ver o nome "IniciarPrograma" este nome é o que ficará

gravado no registro, depois que seu programa estiver pronto vá em executar digite "msconfig" e

verifique que o nome gravado é realmente este.

ScreenShof.png

 

Mas é claro que você pode usar o nome que quiser pois este será apenas um rótulo,

um pouco a frente você pode ver que o comando "ExtractFilePath" irá pegar o diretório

onde está seu programa e concatenar com uma string "Meu_programa.exe" então

esta string deverá conter o nome de seu programa.

 

No evento OnClick do segundo botão coloque:

try

ApagaRegistro(HKEY_LOCAL_MACHINE, 'Software\Microsoft\Windows\CurrentVersion\Run',

'IniciarPrograma');

MessageDlg('Registro apagado com sucesso!', mtInformation, [mbOk], 0);

except

MessageDlg('Erro ao apagar registro!', mtInformation, [mbOk], 0);

end;

 

Mas é claro que como sua aplicação vai alterar o registro do windows você precisará executa-la

como administrador caso contrário dará erro "Project Project1.exe raised exception class

ERegistryException with message "Failed to set data for Iniciarprograma' " é lógico não é,

então compile seu projeto e abra seu executável fora do delphi como administrador.

 

 

Fonte :

É necessário se cadastrar para acessar o conteúdo.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.