![]() |
Programmstart bei Windowsstart festlegen
Hi
Ich hab ein Programm geschrieben dass bei jedem Windowsstart automatisch starten soll. Jetzt will ich eine Checkbox machen, wo man festlegen kann, ob dass Prog das nächste Mal startet. Bisher habe ich folgendes:
Delphi-Quellcode:
...so hoffe das stimmt...
if checkbox1.checked then
begin MyReg:=TRegistry.Create; try MyReg.RootKey:=hkey_local_machine; MyReg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',true); MyReg.WriteString('Wert_egal',Application.ExeName); MyReg.CloseKey; finally MyReg.Free; end; end else begin MyReg.RootKey:=hkey_local_machine; MyReg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', false); if MyReg.ValueExists('Wert_egal') then MyReg.DeleteValue('Wert_egal'); MyReg.CloseKey; end; end; Es sollte ein Wert beim Beenden gespeichert werden, ob die Checkbox ''Checked'' oder ''nicht Checked'' ist. Er müsste dann beim nächsten Start aulgelesen werden. ...denk ich doch Kann mir das einer erklären, wie das zu lösen ist? Gruß MitternachtsFalke [edit=Admin]Delphi-Tags [ delphi]...[ /delphi] eingefügt. Künftig bitte selber dran denken. ;-) Mfg, Daniel[/edit] |
Re: Programmstart bei Windowsstart festlegen
Ein Hallöle von
![]() schreib das einfach in's OnDestroy-Ereignis deines Formulars. Dieses wird bein löschen des Formulars ausgeführt, also wenn das Programm beendet wird.
Delphi-Quellcode:
PS: mit den [delphi]-Tags kann man den QuellCode lesbarer machen.
Procedure TForm_.FormDestroy(Sender: TObject);
Begin If CheckBox1.Checked Then Begin MyReg := TRegistry.Create; Try MyReg.RootKey := hkey_local_machine; MyReg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True); MyReg.WriteString('Wert_egal', Application.ExeName); MyReg.CloseKey; Finally MyReg.Free; End; End Else Begin MyReg.RootKey := hkey_local_machine; Try MyReg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', False); Ff MyReg.ValueExists('Wert_egal') Then MyReg.DeleteValue('Wert_egal'); MyReg.CloseKey; Finally MyReg.Free; End; End; End; http://www.delphipraxis.net/images/common/divider.jpg ![]() ![]() ![]() |
Re: Programmstart bei Windowsstart festlegen
Vielen Dank für die schnelle Antwort!
Ich werds mal testen. Doch zu den Close-Prozduren hab ich noch ne kleine Frage... was ist der Unterschied zwischen onClose, onCloseQuery und onDestroy :gruebel: Danke nochmal MitternachtsFalke |
Re: Programmstart bei Windowsstart festlegen
Sollte sich alles mit der Delphi-Hilfe klären lassen.
|
Re: Programmstart bei Windowsstart festlegen
Das hab ich ja schon aber ich hab ne englische version
und noch nichts richtiges gefunden (was nicht heißen soll, dass ich kein Englisch kann), nein ich finde keinen passenden Eintrag. Naja...dann muss ich eben schauen :cry: |
Re: Programmstart bei Windowsstart festlegen
Form auswählen, im OI auf die Ereignisse gehen, in das betreffende Ereigniss rein klicken, F1 drücken. dann kommt so ein text wie dieser zum Beispiel:
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Programmstart bei Windowsstart festlegen
Ok Luckie du hast gewonnen.
Ich wusste noch nicht dass man in Delphi irgendwo draufklicken und darüber dann sofort Hilfe erhalten kann. :oops: 'Falke |
Re: Programmstart bei Windowsstart festlegen
Ich habe ein Deja vù:
Zitat:
|
Re: Programmstart bei Windowsstart festlegen
Hatte genau dasselbe in meine Anwendung eingebaut gehabt.. schau dir das mal an, wenn du immernoch nich weiter bist. :wink:
![]() Greetz, |
Re: Programmstart bei Windowsstart festlegen
Also deine Lösung ist auch nicht gerade das Gelbe vom Ei.
Bei den Schweizern, von denen du abgeschrieben hast, sieht das ein bisschen anders (= besser) aus. Ich würd´s sogar noch weiter ausbauen, dass man den Registryschlüssel (HKCU oder HKLM) auch wählen kann. Ich wiederhole mich gern: Admin-Rechte! :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz