Fórum Iniciar com o WINDOWS #346499
23/09/2007
0
Achei o codigo abaixo na net para que meu programa inicie junto com o Windows. Minha duvida é em que lugar devo colocar o nome do meu programa nesse codigo? Obrigado.
Procedure TForm1.FormCreate(Sender: TObject);
Var
s,s2:string;
Begin
Reg:=TRegIniFile.Create(\´LloydSoft\´);
{HKEY_USERS\\.DEFAULT\\Software\\Microsoft\\Windows\\CurrentVersion\\Run}
S:=ExtractFileDir(Application.ExeName);
S2:=ExtractFileName(Application.ExeName);
S:=S+\´\\\´+S2;
reg.RootKey:=HKEY_USERS;
reg.Openkey (\´\\.DEFAULT\\Software\\Microsoft\\Windows\\CurrentVersion\´,false);
reg.WriteString(\´Run\´, \´Logo\´, s);
Button1.click;
End;
Luiz

L_carlos
Curtir tópico
+ 0Posts
23/09/2007
Mayron Cachina
1 | reg.WriteString(\´Run\´, \´Logo\´, s); |
se vc so quer modar o nome no registro muda ai onde tem ´LOGO´...
olha eu uso o TRegistry e n o TRegIniFile...
vai ai o codigo se quizer estudar...
1 2 3 4 5 6 7 8 9 10 11 | procedure TForm1.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; |
1 2 3 4 5 6 7 8 9 10 11 | 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; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | procedure TForm1.BitBtn1Click(Sender: TObject); begin try GravaRegistro(HKEY_LOCAL_MACHINE, ´Software\Microsoft\Windows\CurrentVersion\Run´, ´IniciarPrograma´, ExtractFilePath(Application.ExeName) + ´TesteRegistro.exe´); MessageDlg(´Registro gravado com sucesso!´, mtInformation, [mbOk], 0); except MessageDlg(´Erro ao gravar registro!´, mtInformation, [mbOk], 0); end; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin 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; end; |
Gostei + 0
24/09/2007
L_carlos
Luiz
Gostei + 0
15/10/2007
Warfighter
Isso são 3 exemplos ou isso tudo faiz parte ?
Gostei + 0
15/10/2007
Mayron Cachina
uma procedure para cada coisa...
Gostei + 0
15/10/2007
Warfighter
Estou iniciando em delphi não estou conseguindo desifrar isso :(
O que você me acomselham a fazer parae começar desifrar a linguagem Object Pascal ?
Gostei + 0
15/10/2007
Mayron Cachina
bem tem o codigo do BitBtn1Click, aquele é quando vc clica 2 vezes no botao...
os outros a cima sao procedures...
ai vc tem q criar as unidades.. ja eh mais complexo...
vc pode começar vendo esse material...
http://www.apostilando.com/download.php?cod=2493&categoria=Delphi
qualquer duvida pode postar :D
Gostei + 0
06/03/2008
Facc
Fiz essa procedure e criou a chave corretamente... mas qndo eu ligo o computador, dá violação de endereço... O que pode ser? Se eu rodo o programa normalmente (dando 2 cliques) não dá esse erro, mas se incluo ele pra iniciar automatico começa a dar esse erro.
O programa é simples, ele apenas fica ´monitorando´ a internet, se o usuário acessar alguma página invalida, cria um log de acesso.
Criei com delphi2006
Gostei + 0
06/03/2008
Facc
isso só acontece com a maquina cliente, sem delphi instalado
Gostei + 0
20/03/2008
Facc
Gostei + 0
20/03/2008
Paullsoftware
eu uso essa função e funciona perfeitamente nos meus programas:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | procedure IniciarComWindows(Titulo,CaminhoPrograma:String); var Reg : TRegistry; begin Reg := TRegistry.Create; try with Reg do begin RootKey := HKEY_LOCAL_MACHINE; OpenKey(´\SOFTWARE\Microsoft\Windows\CurrentVersion\Run´,True); WriteString(Titulo,CaminhoPrograma); CloseKey; end; finally Reg.CloseKey; end; end; |
Modo de usar:
1 | IniciarComWindows(´Titulo do Programa´,´CaminhoCompleto_NomeDoPrograma.Exe´); |
Gostei + 0
20/03/2008
Facc
Onde vejo isso?
Gostei + 0
21/03/2008
Paullsoftware
Onde vejo isso?[/quote:b35b547166]Olá Fábio, normalmente os usuários que têm acesso ao registro do windows e podem efeturar qualquer alteração nos arquivos de sistema são usuários Administradores, para acessar o [b:b35b547166]Gerenciador de Contas de Usuários[/b:b35b547166] do Windows, você pode ir em: Iniciar>>Executar>>digitar: [b:b35b547166]control userpassowrds2[/b:b35b547166] Enter se for windows xp, ou painel de controle Contas de Usuários se for windows Server... se no seu computador funciona, adicione um [i:b35b547166][b:b35b547166]Usuário Avançado[/b:b35b547166][/i:b35b547166] e teste o seu aplicativo no seu próprio windows usando esse usuário... você também pode mudar algumas opções de permissões dos usuários usando o [b:b35b547166]secpol.msc /s[/b:b35b547166] (Configurações Locais de Segurança) também através do Executar e procurar por previlérgios ou bloqueios do usuário... Espero ter ajudado! :wink:
Gostei + 0
25/03/2008
Facc
Onde vejo isso?[/quote:f47ef5fe92]Olá Fábio, normalmente os usuários que têm acesso ao registro do windows e podem efeturar qualquer alteração nos arquivos de sistema são usuários Administradores, para acessar o [b:f47ef5fe92]Gerenciador de Contas de Usuários[/b:f47ef5fe92] do Windows, você pode ir em: Iniciar>>Executar>>digitar: [b:f47ef5fe92]control userpassowrds2[/b:f47ef5fe92] Enter se for windows xp, ou painel de controle Contas de Usuários se for windows Server... se no seu computador funciona, adicione um [i:f47ef5fe92][b:f47ef5fe92]Usuário Avançado[/b:f47ef5fe92][/i:f47ef5fe92] e teste o seu aplicativo no seu próprio windows usando esse usuário... você também pode mudar algumas opções de permissões dos usuários usando o [b:f47ef5fe92]secpol.msc /s[/b:f47ef5fe92] (Configurações Locais de Segurança) também através do Executar e procurar por previlérgios ou bloqueios do usuário... Espero ter ajudado! :wink:[/quote:f47ef5fe92]
paullsoftware, fiz isso que vc me disse e mesmo assim deu erro, mesmo com usuário administrador dá erro de endereço de memória... Não sei o que pode ser, é o mesmo fonte que eu te enviei... só funciona com o Delphi instalado...
Gostei + 0
25/03/2008
Paullsoftware
1 2 3 4 5 6 7 8 9 | if SetLink(´IExplore´, ´WWW_GetWindowInfo´) or SetLink(´Netscape´, ´WWW_GetWindowInfo´) or SetLink(´Mosaic´, ´WWW_GetWindowInfo´) or SetLink(´Netscp6´, ´WWW_GetWindowInfo´) or SetLink(´Opera´, ´WWW_GetWindowInfo´) or SetLink(´Mozilla´, ´WWW_GetWindowInfo´) or SetLink(´Avant´, ´WWW_GetWindowInfo´) or SetLink(´Firefox´, ´WWW_GetWindowInfo´) then temp := RequestData(´0xFFFFFFFF´); |
então mudei para::
1 2 3 4 5 6 7 8 9 10 | if SetLink(´IExplore´, ´WWW_GetWindowInfo´) or SetLink(´Netscape´, ´WWW_GetWindowInfo´) or SetLink(´Mosaic´, ´WWW_GetWindowInfo´) or SetLink(´Netscp6´, ´WWW_GetWindowInfo´) or SetLink(´Opera´, ´WWW_GetWindowInfo´) or SetLink(´Mozilla´, ´WWW_GetWindowInfo´) or SetLink(´Avant´, ´WWW_GetWindowInfo´) or SetLink(´Firefox´, ´WWW_GetWindowInfo´) then temp := RequestData(´0xFFFFFFFF´) else temp := RequestData(´´); |
espero que o seu tb funcione!!! :roll:
Gostei + 0
25/03/2008
Cyborg*
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)