Her er en hele unit'en for det du ønsker, Der skal tilføjes 2 knapper og begge deres onClick events skal bruges + formens onShow
unit Unit1;
interface
uses
//Her er der ændret
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Registry;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
//Registreringsdatabaseobjektet
Reg: TRegistry;
const
//En konstant der indeholder den nøgle vi skal frem til
RegKey = 'Software\\Microsoft\\Windows\\CurrentVersion\\Run';
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
//Her tilføjer vi det program vi ønsker så
//næste gang windows startes,
//Så starter vores program også
//Her er det notepad der vil starte næste gang
//NB! Første parameter angiver værdiens navn, det
//skal være unikt for ellers vil andre programmer
//jo overskrive det.
//Anden parameter skal være komplet(undtagen notepad osv)
Reg.WriteString('Detteskalvaereunikt', 'notepad.exe');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
//Her sletter vi værdien(hvis den eksisterer)
if Reg.ValueExists('Detteskalvaereunikt') then
Reg.DeleteValue('Detteskalvaereunikt');
end;
procedure TForm1.FormShow(Sender: TObject);
begin
//Her opretter vi registry objektet
//for det hele er i registreringsdatabasen
Reg := TRegistry.Create;
//Hvis programmet skal starte hver gang
//ligemeget hvem der logger på skal
//Rootkey := HKEY_LOCAL_MACHINE
//istedet for HKEY_CURRENT_USER
Reg.RootKey := HKEY_CURRENT_USER;
//Vi åbner nøglen hvori det er, at
//windows leder efter programmer
//der skal startes op
Reg.OpenKey(RegKey, false);
end;
end.
Casper
[Redigeret d. 12/10-03 18:33:59 af Casper Steinmann]