Hiho ...
will in mein Programm einen Autostart einbauen! Ich finde meinen Fehler aber nicht!!! (also der Compiler meckert auch nicht) :
Code:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var reg: TRegistry;
begin
if CheckBox1.checked = true then
begin
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
reg.OpenKey('Software\Trouble_Maker\Secure\', true);
reg.WriteInteger('Autostart', 1);
end
else
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
reg.OpenKey('Software\Trouble_Maker\Secure\', true);
Reg.DeleteValue('Autostart');
end;
Code:
procedure TForm1.FormCreate(Sender: TObject);
var Reg: TRegistry;
begin
//Autostart
try
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
reg.OpenKey('Software\Trouble_Maker\Secure\', true);
if reg.ValueExists('Autostart') then
begin
CheckBox1.checked := true;
end;
except
free;
end;
end;
Code:
procedure TForm1.CheckBox1Click(Sender: TObject);
var Reg: TRegistry;
begin
if CheckBox1.checked = true then
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
Reg.WriteString('Security-Tool.exe', ParamStr(0));
Reg.Destroy;
end;
if CheckBox1.checked = true then
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
Reg.DeleteValue('Security-Tool.exe');
Reg.Destroy;
end;
end;
so ... also
1. Auch wenn ich das Programm im Autostart habe, zeigt er nicht bei der Checkbox einen Haken.
2. Wenn ich den Autostart mit der Checkbox ausschalte (keinen Haken) dann startet das Programm trotzdem !!!
woran liegt das ?!?
danke
cu Trouble_Maker