Como Inicializar seu Programa com o Windows
Muitas vezes necessitamos que o nosso aplicativo seja executado ao
iniciar o Windows.
Para resolver esta situação, podemos salvar uma instrução
no registro do windows, indicando para executar o nosso programa.
Veja o Exemplo:
Obs: É necessário estar declarado Registry na seção uses.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| procedure RunOnStartup(sProgTitle, sCmdLine: string;
bRunOnce: Boolean);
var
sKey: string;
reg: TRegIniFile;
begin
if bRunOnce then
sKey := 'Once'
else
sKey := '';
reg := TRegIniFile.Create('');
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.WriteString('Software\Microsoft\Windows\CurrentVersion\Run' + sKey + #0,
sProgTitle, sCmdLine);
reg.Free;
end; |
procedure RunOnStartup(sProgTitle, sCmdLine: string;
bRunOnce: Boolean);
var
sKey: string;
reg: TRegIniFile;
begin
if bRunOnce then
sKey := 'Once'
else
sKey := '';
reg := TRegIniFile.Create('');
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.WriteString('Software\Microsoft\Windows\CurrentVersion\Run' + sKey + #0,
sProgTitle, sCmdLine);
reg.Free;
end;
Explicando os parâmetros…
sProgTitle
Titulo do programa. De um modo geral, esta poderia ser qualquer coisa que você quer.
sCmdLine
Este é o nome do caminho completo onde o programa executável se encontra.
bRunOnce
Defina este como verdadeiro se você deseja executar o programa apenas uma vez.
Exemplo de uso:
1
2
3
4
5
6
| procedure TForm1.Button1Click(Sender: TObject);
begin
RunOnStartup(
Application.Title,
Application.ExeName, False);
end; |
procedure TForm1.Button1Click(Sender: TObject);
begin
RunOnStartup(
Application.Title,
Application.ExeName, False);
end;
Importante lembrar que o programa precisa estar rodando com permissão de administrador
para executar este código, caso contrário o Windows irá negar acesso.
Fonte: http://www.devmedia.com.br/inicializar-seu-programa-com-o-windows/24236
-
InfusTec
-
6.450 views
- 2 comentários
- 28 de maio de 2016
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo
Gostaria de uma ajudinha!
O código acima funciona perfeitamente no meu programa, tanto no WinXP 32bits, quanto nas versões 32 e 64 bits do Win7.
O problema é: A chave foi devidamente criada, mas o programa não inicia junto com o Windows. =/
O Windows está logando em modo administrador, o programa está programado também com a propriedade de
“Executar como Administrador”.
Alguém tem uma ideia do que pode ser?
Em testes aqui o programa inicia depois de algum usuário fazer o login.