Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16
  1. #11
    Fortgeschrittener
    Registriert seit
    18.01.2008
    Beiträge
    38

    Standard

    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;
    [center:3294379cfc]Proud Member of SCF
    ~Special Cat Force~[/center:3294379cfc]

  2. #12
    Tron Avatar von gORDon_vdLg
    Registriert seit
    23.07.2007
    Beiträge
    801

    Standard

    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

  3. #13
    Sobig Wurm
    Registriert seit
    19.06.2007
    Beiträge
    215

    Standard

    Hab das auch schon in der Art gemacht wenn die Syntax stimmt (hab jetz keine Fehler entdeckt) müsste das funktionieren.

  4. #14
    Stanley Jobson Avatar von K1ngC0bra
    Registriert seit
    26.08.2007
    Beiträge
    650

    Standard

    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

  5. #15
    Sobig Wurm
    Registriert seit
    19.06.2007
    Beiträge
    215

    Standard

    OK das ist zwar professioneller, erfüllt aber den gleichen Zweck wie die Prozedur von gORDon_vdLg oder täusch ich mich da?!

  6. #16
    Tron Avatar von gORDon_vdLg
    Registriert seit
    23.07.2007
    Beiträge
    801

    Standard

    Ja, der zweck ist der gleiche... du hast die qual der wahl xD

Seite 2 von 2 ErsteErste 12

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •