 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
GabrielDelphieVB Novato

Registrado: Segunda-Feira, 31 de Janeiro de 2011 Mensagens: 29
|
Enviada: Ter Nov 01, 2011 10:20 pm Assunto: [AJUDA] Applicação se auto iniciar com o Windows |
|
|
estou criando uma aplicação Downloader.
Tenho uma checkbox
Quero que quando essa chk for checada, a minha aplicação se inicie junto com o Windows
E quando eu uncheco ela que a aplicação não inicie com o Windows
Me ajudem!!!!!!!!!!!!!!!!!!!!!!! |
|
| Voltar ao Topo |
|
 |
GabrielDelphieVB Novato

Registrado: Segunda-Feira, 31 de Janeiro de 2011 Mensagens: 29
|
Enviada: Ter Nov 01, 2011 10:21 pm Assunto: Re: [AJUDA] Applicação se auto iniciar com o Windows |
|
|
| Não é uma applicação HACKER e sim um GERENCIADOR DE DOWNLOADS |
|
| Voltar ao Topo |
|
 |
JCMF Profissional


Registrado: Quarta-Feira, 28 de Abril de 2010 Mensagens: 578 Localização: Recife, PE
|
Enviada: Ter Nov 01, 2011 11:04 pm Assunto: |
|
|
Primeiramente, vc precisa compreender que o processo chamado de startup é diferente nos sistemas XP, Vista e 7.
Basicamente, vc precisa adicionar um valor tipo "MinhaApp"="c:\MinhaApp\aplicacao.exe" no registro, nas chaves:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
ou
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
A primeira executa sempre que o windows é iniciado e a outra executa uma única vez.
O código abaixo pode te dar uma idéia:
| Código: | procedure ExecutaStartupWin( tituloWindows, linhaComando: String; unicaVez: Boolean = False );
var
RegIniFile: TRegIniFile;
begin
RegIniFile := TRegIniFile.Create( '' );
with RegIniFile do
begin
RootKey := HKEY_LOCAL_MACHINE;
if unicaVez then
RegIniFile.WriteString('Software\Microsoft\Windows\CurrentVersion\RunOnce'#0, tituloWindows, linhaComando )
else
RegIniFile.WriteString('Software\Microsoft\Windows\CurrentVersion\Run'#0, tituloWindows, linhaComando )
Free;
end;
end; |
Espero ter ajudado! |
|
| Voltar ao Topo |
|
 |
GabrielDelphieVB Novato

Registrado: Segunda-Feira, 31 de Janeiro de 2011 Mensagens: 29
|
Enviada: Ter Nov 01, 2011 11:20 pm Assunto: |
|
|
| JCMF escreveu: | Primeiramente, vc precisa compreender que o processo chamado de startup é diferente nos sistemas XP, Vista e 7.
Basicamente, vc precisa adicionar um valor tipo "MinhaApp"="c:\MinhaApp\aplicacao.exe" no registro, nas chaves:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
ou
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
A primeira executa sempre que o windows é iniciado e a outra executa uma única vez.
O código abaixo pode te dar uma idéia:
| Código: | procedure ExecutaStartupWin( tituloWindows, linhaComando: String; unicaVez: Boolean = False );
var
RegIniFile: TRegIniFile;
begin
RegIniFile := TRegIniFile.Create( '' );
with RegIniFile do
begin
RootKey := HKEY_LOCAL_MACHINE;
if unicaVez then
RegIniFile.WriteString('Software\Microsoft\Windows\CurrentVersion\RunOnce'#0, tituloWindows, linhaComando )
else
RegIniFile.WriteString('Software\Microsoft\Windows\CurrentVersion\Run'#0, tituloWindows, linhaComando )
Free;
end;
end; |
Espero ter ajudado! |
Obrigado pela ajuda más não deu certo, o que eu quero fazer é que:
Se a minha CHECKBOX1 estiver checada, entao p programa faz o treco de startup
se nao tiver checada, ele nao inicia
saco??? |
|
| Voltar ao Topo |
|
 |
JCMF Profissional


Registrado: Quarta-Feira, 28 de Abril de 2010 Mensagens: 578 Localização: Recife, PE
|
Enviada: Ter Nov 01, 2011 11:24 pm Assunto: |
|
|
O código consegue escrever a entrada no registro para o startup.
O linhaComando é o path completo para o teu executável...
acho que oq tá faltando aí, para atender ao que vc precisa, é uma implementação que possa remover o valor da chave quando o checkbox for desmarcado.
Para isso, vc vai precisar usar o método RegIniFile.DeleteKey. |
|
| Voltar ao Topo |
|
 |
GabrielDelphieVB Novato

Registrado: Segunda-Feira, 31 de Janeiro de 2011 Mensagens: 29
|
Enviada: Ter Nov 01, 2011 11:24 pm Assunto: |
|
|
| JCMF escreveu: | Primeiramente, vc precisa compreender que o processo chamado de startup é diferente nos sistemas XP, Vista e 7.
Basicamente, vc precisa adicionar um valor tipo "MinhaApp"="c:\MinhaApp\aplicacao.exe" no registro, nas chaves:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
ou
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
A primeira executa sempre que o windows é iniciado e a outra executa uma única vez.
O código abaixo pode te dar uma idéia:
| Código: | procedure ExecutaStartupWin( tituloWindows, linhaComando: String; unicaVez: Boolean = False );
var
RegIniFile: TRegIniFile;
begin
RegIniFile := TRegIniFile.Create( '' );
with RegIniFile do
begin
RootKey := HKEY_LOCAL_MACHINE;
if unicaVez then
RegIniFile.WriteString('Software\Microsoft\Windows\CurrentVersion\RunOnce'#0, tituloWindows, linhaComando )
else
RegIniFile.WriteString('Software\Microsoft\Windows\CurrentVersion\Run'#0, tituloWindows, linhaComando )
Free;
end;
end; |
Espero ter ajudado! |
Tive uma ideia, se eu mover para a pasta do Iniciar\Programas\Inicializar?
me ajuda a copiar e excluir um arquivo? |
|
| Voltar ao Topo |
|
 |
JCMF Profissional


Registrado: Quarta-Feira, 28 de Abril de 2010 Mensagens: 578 Localização: Recife, PE
|
Enviada: Ter Nov 01, 2011 11:34 pm Assunto: |
|
|
Iniciar do windows? hehehe
Bem, vamos ver...
| Código: | procedure TForm1.Button2Click(Sender: TObject);
var
Origem, Destino: string;
begin
Origem := 'c:\Origem\NomeArq.txt';
Destino := 'c:\Destino\NomeArq.txt';
if not CopyFile(PChar(Origem), PChar(Destino), True) then
ShowMessage( 'Erro ao copiar ' + Origem + ' para ' + Destino);
end; |
O True no segundo parâmetro indica que o arquivo será sobescrito caso exista no destino.
O mesmo vale para a exclusão...
O código seria assim
| Código: | procedure TForm1.Button2Click(Sender: TObject);
var
Destino: string;
begin
Destino := 'c:\Destino\NomeArq.txt';
if not DeleteFile( Ddestino ) then
ShowMessage( 'Erro ao apagar arquivo' );
end; |
|
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|