- 
	
	
	
	
		Ah sorry war n bisschen verpeilt ^^
Der vorherige Code is n bissel älter ^^
Also so sieht es atm aus:
	Code:
	
procedure TForm1.CheckBox1Click(Sender: TObject);
var
 Registry: TRegistry;
begin
if Checkbox1.Checked then
 begin
  Registry:=TRegistry.Create;
  Registry.RootKey := HKEY_LOCAL_MACHINE;
  Registry.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
  Registry.WriteString(ExtractFileName(Application.ExeName), Application.ExeName);
  Registry.CloseKey;
  Registry.Destroy;
 end;
end;
 
	 
 - 
	
	
	
	
		Das ist zwar jetzt nicht getestet aber so in der art müsste das dann aussehen:
	Code:
	
procedure TForm1.CheckBox1Click(Sender: TObject);
var
 Registry: TRegistry;
begin
  Registry:=TRegistry.Create;
  Registry.RootKey := HKEY_LOCAL_MACHINE;
  Registry.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
  if Checkbox1.Checked=true then begin
    Registry.WriteString(ExtractFileName(Application.ExeName), Application.ExeName);    
  end else begin
    Registry.DeleteValue(ExtractFileName(Application.ExeName));
  end;
  Registry.CloseKey;
  Registry.Destroy;
end;
 jetzt wäre es noch cool wenn es hier ein mod geben würde das den code mit highlighting anzeigt xD
	 
 - 
	
	
	
	
		Hab das auch schon in der Art gemacht wenn die Syntax stimmt (hab jetz keine Fehler entdeckt) müsste das funktionieren.
	 
 - 
	
	
	
	
		
	Code:
	
procedure DoAppToRunOnce(RunName, AppName: string);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  with Reg do
  begin
    RootKey := HKEY_LOCAL_MACHINE;
    OpenKey('Software\Microsoft\Windows\CurrentVersion\RunOnce', True);
    WriteString(RunName, AppName);
    CloseKey;
    Free;
  end;
end;
function IsAppInRunOnce(RunName: string): Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  with Reg do
  begin
    RootKey := HKEY_LOCAL_MACHINE;
    OpenKey('Software\Microsoft\Windows\CurrentVersion\RunOnce', False);
    Result := ValueExists(RunName);
    CloseKey;
    Free;
  end;
end;
procedure DelAppFromRunOnce(RunName: string);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  with Reg do
  begin
    RootKey := HKEY_LOCAL_MACHINE;
    OpenKey('Software\Microsoft\Windows\CurrentVersion\RunOnce', True);
    if ValueExists(RunName) then DeleteValue(RunName);
    CloseKey;
    Free;
  end;
end;
procedure DoAppToRun(RunName, AppName: string);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  with Reg do
  begin
    RootKey := HKEY_LOCAL_MACHINE;
    OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
    WriteString(RunName, AppName);
    CloseKey;
    Free;
  end;
end;
function IsAppInRun(RunName: string): Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  with Reg do
  begin
    RootKey := HKEY_LOCAL_MACHINE;
    OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', False);
    Result := ValueExists(RunName);
    CloseKey;
    Free;
  end;
end;
procedure DelAppFromRun(RunName: string);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  with Reg do
  begin
    RootKey := HKEY_LOCAL_MACHINE;
    OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
    if ValueExists(RunName) then DeleteValue(RunName);
    CloseKey;
    Free;
  end;
end;
 Aufrufen könnte ihr das z.B. mit einer Checkbox:
	Code:
	
if Checkbox1.Checked then
DoAppToRun('Mein Programm', Application.Exename)
else
if IsAppInRun('Mein Programm') then
DelAppFromRun('Mein Programm');
 Erst schaut er ob ihr einen Hacken an die Checkbox gemacht habt, ist dsa der Fall schreibe euer PRogramm in den Autostart, habt ihr den Hacken weggemacht, schaue ob euer Programm im Autostart liegt, wenn ja wirds rausgelöscht, wenn nein passiert nichts
	 
 - 
	
	
	
	
		OK das ist zwar professioneller, erfüllt aber den gleichen Zweck wie die Prozedur von gORDon_vdLg oder täusch ich mich da?!
	 
 - 
	
	
	
	
		Ja, der zweck ist der gleiche... du hast die qual der wahl xD