Hola Drakyto.
Proba de este modo:
Código Delphi
[-]
...
implementation
uses Registry;
const
CVALUE = 'MiAplicacion';
procedure AutoRun(Execute: Boolean);
begin
with TRegistry.Create do
try
RootKey := HKEY_LOCAL_MACHINE;
if Execute then
begin
OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', True);
WriteString(CVALUE, ExtractFilePath(Application.ExeName) +
ExtractFileName(Application.ExeName))
end
else
begin
OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', False);
DeleteValue(CVALUE);
end;
finally
CloseKey;
Free;
end;
end;
Llamada ejemplo:
Código Delphi
[-]
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
AutoRun(CheckBox1.Checked);
end;
Saludos.
Edito: No había visto la respuesta de
roman, pero creo que es la misma idea.