iniciar programas al encender el PC

Un método para que una aplicación o servicio se arranque al iniciar windows es almacenar su path en el registro dentro de las carpetas "Run, RunOnce o RunServicesOne" de la siguiente forma:

uses
Registry;

TAutorunkind = ( akRun, akUserRun ,akRunOnce, akUserRunOnce , akRunServices,akRunServicesOnce );

function CreateAutorunEntry(const AName, AFilename: string; const AKind: TAutorunKind): Boolean;
var
Reg: TRegistry;
begin
Result:=False;
Reg := TRegistry.create;
try
if
(AKind=akUserRun) or (AKind=akUserRunOnce) then
Reg.Rootkey:= HKEY_CURRENT_USER
else
Reg.RootKey := HKEY_LOCAL_MACHINE;

case AKind of
akRun, akUserRun : Result:=Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
akRunOnce, akUserRunOnce: Result:=Reg.OpenKey(
'Software\Microsoft\Windows\CurrentVersion\RunOnce', True);
akRunServices : Result:=Reg.OpenKey(
'Software\Microsoft\Windows\CurrentVersion\RunServices', True);
akRunServicesOnce : Result:=Reg.OpenKey(
'Software\Microsoft\Windows\CurrentVersion\RunServicesOnce', True);
end;
Reg.WriteString(AName, AFilename);
finally
Reg.Free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
CreateAutorunEntry(Application.Title, ParamStr(0), akUserRunOnce);
end;

No hay comentarios:

Publicar un comentario