AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Programmstart bei Windowsstart festlegen
Thema durchsuchen
Ansicht
Themen-Optionen

Programmstart bei Windowsstart festlegen

Ein Thema von Mitternachtsfalke · begonnen am 3. Dez 2003 · letzter Beitrag vom 9. Dez 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Mitternachtsfalke
Mitternachtsfalke

Registriert seit: 3. Dez 2003
54 Beiträge
 
Delphi 6 Enterprise
 
#1

Programmstart bei Windowsstart festlegen

  Alt 3. Dez 2003, 18:28
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:
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;
...so hoffe das stimmt...

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]
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.051 Beiträge
 
Delphi 12 Athens
 
#2

Re: Programmstart bei Windowsstart festlegen

  Alt 3. Dez 2003, 18:49
Ein Hallöle von http://www.FrankNStein.de/Smiley-Wolke.gif und herzlich willkommen in unserer DP-Gemeinde,

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:
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;
PS: mit den [delphi]-Tags kann man den QuellCode lesbarer machen.


http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Mitternachtsfalke
Mitternachtsfalke

Registriert seit: 3. Dez 2003
54 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Programmstart bei Windowsstart festlegen

  Alt 3. Dez 2003, 19:12
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

Danke nochmal

MitternachtsFalke
Im Falle eines Falles ist richtig fallen alles
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Programmstart bei Windowsstart festlegen

  Alt 3. Dez 2003, 19:19
Sollte sich alles mit der Delphi-Hilfe klären lassen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Mitternachtsfalke
Mitternachtsfalke

Registriert seit: 3. Dez 2003
54 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Programmstart bei Windowsstart festlegen

  Alt 3. Dez 2003, 19:29
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
Im Falle eines Falles ist richtig fallen alles
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Programmstart bei Windowsstart festlegen

  Alt 3. Dez 2003, 19:39
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 von Delphi-Hilfe:
Use OnClose to perform special processing when the form closes. The OnClose event specifies which event handler to call when a form is about to close.
Oder:
Zitat von Delphi-Hilfe:
Use OnCloseQuery to specify the conditions under which the form can close. An OnCloseQuery event handler contains a Boolean CanClose variable that determines whether a form is allowed to close. Its default value is True.
Oder sogar:
Zitat von Delphi-Hilfe:
Use OnDestroy to perform special processing when the form is destroyed.
Womit diese Aussage
Zitat von Mitternachtsfalke:
und noch nichts richtiges gefunden [..], nein ich finde keinen passenden Eintrag.
Wohl wiederlegt sein dürfte. Ähnliche Ergebnisse erziehlt man, wenn man die betreffenden Stichworte im Index der Hilfe eingibt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Mitternachtsfalke
Mitternachtsfalke

Registriert seit: 3. Dez 2003
54 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Programmstart bei Windowsstart festlegen

  Alt 4. Dez 2003, 19:31
Ok Luckie du hast gewonnen.
Ich wusste noch nicht dass man in Delphi irgendwo
draufklicken und darüber dann sofort Hilfe erhalten
kann.

'Falke
Im Falle eines Falles ist richtig fallen alles
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#8

Re: Programmstart bei Windowsstart festlegen

  Alt 4. Dez 2003, 20:12
Ich habe ein Deja vù:
Zitat von Mitternachtsfalke:
Delphi-Quellcode:
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;
So was ähnliches hatten wir vor ein paar Tagen/Wochen/Monaten schon mal.
  1. HKEY_LOCAL_MACHINE als Ziel kann ohne Admin-Rechte in die Hose gehen.
  2. Warum schreibst du den Registry-Code zweimal? Einmal öffnen, und dann abhängig von der Checkbox den Wert eintragen oder entfernen.
  Mit Zitat antworten Zitat
Akut-Programming

Registriert seit: 18. Aug 2003
648 Beiträge
 
#9

Re: Programmstart bei Windowsstart festlegen

  Alt 5. Dez 2003, 08:18
Hatte genau dasselbe in meine Anwendung eingebaut gehabt.. schau dir das mal an, wenn du immernoch nich weiter bist.

Anwendung automatisch starten

Greetz,
Akut-Programming
be cool, be hot ... just be
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#10

Re: Programmstart bei Windowsstart festlegen

  Alt 5. Dez 2003, 08:49
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!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz