Gør det direkte via registreringsdatabasen, med de dertil indrettede nøgler:
http://www.swissdelphicenter.ch/torry/showcode.php?id=396 :-)
Der er dog en enkelt ting der skal ændres i eksemplet, for at programmet kun starter op for en bestemt bruger:
uses
Registry;
procedure SetAutoStart(AppName, AppTitle: string; bRegister: Boolean);
const
RegKey = '\Software\Microsoft\Windows\CurrentVersion\Run';
// or: RegKey = '\Software\Microsoft\Windows\CurrentVersion\RunOnce';
var
Registry: TRegistry;
begin
Registry := TRegistry.Create;
try
Registry.RootKey := HKEY_CURRENT_USER; // HKEY_LOCAL_MACHINE; // Her har jeg ændret :-)
if Registry.OpenKey(RegKey, False) then
begin
if bRegister = False then
Registry.DeleteValue(AppTitle)
else
Registry.WriteString(AppTitle, AppName);
end;
finally
Registry.Free;
end;
end;
// Example:
procedure TForm1.Button1Click(Sender: TObject);
begin
// 1.Parameter: Path to your Exe-File
// 2. Parameter: the Title of your Application
// 3. Set (true) or Unset (false) Autorun
SetAutoStart(ParamStr(0), 'Title of your Application', True);
end;