Fórum Aplicação em segundo plano #267804

08/02/2005

0

Como fazer uma aplicação abrir quando o computador é inicializado e fazer rodar em segundo?


Luisandro

Luisandro

Responder

Posts

08/02/2005

Massuda

Como fazer uma aplicação abrir quando o computador é inicializado...

Algumas maneiras de fazer isso:[list=1:c84f93a258][*:c84f93a258]Instalar/criar um atalho para seu programa na pasta [b:c84f93a258]Menu Iniciar[/b:c84f93a258] do usuário ou de todos os usuários da máquina. Seu programa é executado sempre que o usuário atual (ou qualquer dos usuários) fizer login e será mostrado no menu Iniciar/Programas/Iniciar.[*:c84f93a258]Incluir uma entrada para seu programa na chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run do Registro do Windows. Seu programa é executado sempre que a máquina for ligada.[*:c84f93a258]Incluir uma entrada para seu programa na chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce do Registro do Windows. Seu programa é executado na próxima vez que a máquina for ligada (uma única vez).[*:c84f93a258]Incluir uma entrada para seu programa na chave HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run do Registro do Windows. Seu programa é executado sempre que o usuário atual fizer login.[/list:o:c84f93a258]Qual opção escolher depende basicamente do que seu programa faz. Por exemplo, seu programa pode precisar interagir com o usuário ou precisar se ajustar ao usuário, nesse o melhor é instalar ele de modo a ser executado após o login do usuário. Por outro lado, se seu programa é do tipo servidor, geralmente ele precisa ser executado assim que a máquina for ligada.

... e fazer rodar em segundo [plano]?
Na maior parte dos casos você pode fazer um programa que fique minimizado na área de ícones da barra de tarefa, junto do relógio. Em alguns casos, se for executado em Win NT/2K/XP, talvez seja preciso implementar seu programa como um serviço do Windows.


Responder

Gostei + 0

09/02/2005

Luisandro

como incluir uma entrada para meu programa na chave HKEY_LOCAL_MACHINE?


Responder

Gostei + 0

09/02/2005

Massuda

O código seria mais ou menos assim (não testei):
uses
  Windows,
  Registry,
  ...

var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey(´\Software\Microsoft\Windows\CurrentVersion\Run´, True)
    then Reg.WriteString(´NomeDoAplicativo´,´"´ + ParamStr(0) + ´"´);
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
end;
Se você estiver executando em Win NT/2K/XP, é provável que o usuário precise ser administrador da máquina para poder alterar um valor na chave HKEY_LOCAL_MACHINE.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar