ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

[AJUDA] Applicação se auto iniciar com o Windows

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
GabrielDelphieVB
Novato
Novato


Registrado: Segunda-Feira, 31 de Janeiro de 2011
Mensagens: 29

MensagemEnviada: Ter Nov 01, 2011 10:20 pm    Assunto: [AJUDA] Applicação se auto iniciar com o Windows Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
GabrielDelphieVB
Novato
Novato


Registrado: Segunda-Feira, 31 de Janeiro de 2011
Mensagens: 29

MensagemEnviada: Ter Nov 01, 2011 10:21 pm    Assunto: Re: [AJUDA] Applicação se auto iniciar com o Windows Responder com Citação

Não é uma applicação HACKER e sim um GERENCIADOR DE DOWNLOADS
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
JCMF
Profissional
Profissional


Registrado: Quarta-Feira, 28 de Abril de 2010
Mensagens: 578
Localização: Recife, PE

MensagemEnviada: Ter Nov 01, 2011 11:04 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
GabrielDelphieVB
Novato
Novato


Registrado: Segunda-Feira, 31 de Janeiro de 2011
Mensagens: 29

MensagemEnviada: Ter Nov 01, 2011 11:20 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
JCMF
Profissional
Profissional


Registrado: Quarta-Feira, 28 de Abril de 2010
Mensagens: 578
Localização: Recife, PE

MensagemEnviada: Ter Nov 01, 2011 11:24 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
GabrielDelphieVB
Novato
Novato


Registrado: Segunda-Feira, 31 de Janeiro de 2011
Mensagens: 29

MensagemEnviada: Ter Nov 01, 2011 11:24 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
JCMF
Profissional
Profissional


Registrado: Quarta-Feira, 28 de Abril de 2010
Mensagens: 578
Localização: Recife, PE

MensagemEnviada: Ter Nov 01, 2011 11:34 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB