![]() |
Hiho
hmm ... @UncleCracker: eigentlich wollte ich keine Komponente benutzen! Muss ja auch so gehen ... @Christian Seehase: Hä ... weiss jetzt nicht so richtig was du damit meinst !!! kannst du mir das nochmal erklären ? Wäre echt nett. Will das jetzt endlich hinbekommen mit dem sch*** Autostart ^^ cu Trouble_Maker |
Moin Trouble Maker,
da die Funktion ansonsten gut aussieht, also so funktionieren müsste, kann das Problem eigentlich nur noch darin liegen, dass Windows die zu startende Datei nicht findet. Wenn der Pfad ein Leerzeichen enthält und nicht in " eingeschlossen wird, nimmt das System als Pfad für das zu startende Programm nur den Pfad bis zum Leerzeichen und ignoriert den Rest. Und deshalb solltest Du es mal statt mit
Delphi-Quellcode:
mit
Reg.WriteString(AppTitle,AppName);
Code:
versuchen.
Reg.WriteString(AppTitle,[color=red]'"'+[/color]AppName[color=red]+'"'[/color]);
|
Hiho
ah cool danke (@Christian) Werde es morgen mal ausprobieren, da ich jetzt noch was für die Schule machen muss :-( also bis dann Trouble_Maker |
Hiho :-(
Christan Seehase, kannst du mir verraten, wieso der Compiler rummeckert, wenn ich den von dir stammenden Code verändere ?!? Er meint: Zu viele Parameter !!! Habe auch mal versucht mal ein ' oder " zu entfernen dann meint er aber nicht geschlossener String. Kannst du mir helfen ? Ich bin wirklich am verzweifeln. :-| Danke Trouble_Maker |
Hallo Trouble_Maker,
bin gerade über deinen Quelltext geflogen *haberichtigangstbekommen*. Deinen Schlüssel mit dem Datenwert 'Autostart' wirst Du nie schreiben, da Du ihn abhängig von "CheckBox1.checked" machst. Dieser wird aber in "TForm1.FormCreate" nur gesetzt, wenn es ihn gibt. Der Amerikaner sagt, glaube ich, Catch 22 dazu. Du drehst dich im Keis. Du solltest besser prüfen, ob der Autostart Schlüssel unter 'Software\Microsoft\Windows\CurrentVersion\Run' existert und dann deine Hacken setzen. Dann würdest Du auch bei Programmstart (von Hand) mitbekommen, daß Dir einer den Schlüssel gekegelt hat. bye [Nachtrag] so würde es auch gehen[/Nachtrag]
Delphi-Quellcode:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin if CheckBox1.Checked then begin SetAutoStart('DBSysCon', ParamStr(0), False, False); CheckBox1.Checked := False; reg.WriteInteger('Autostart', 1); // mit öffnen und schließen versteht sich else begin SetAutoStart('DBSysCon', ParamStr(0), True, False); CheckBox1.Checked := True; Reg.DeleteValue('Autostart'); // mit öffnen und schließen versteht sich end; end; |
Hi!!
Hab mir deinen Ursprünglichen Quellcode jetzt mal in mein Delphi kopiert, und das 2. false (if CheckBox1.checked = false then) in true umgeändert (hinweis gabs eh schon)...bei mir funzt das alles irgendwie einwandfrei!! (Allerdings habe ich auch keine Leerzeichen in meinen Verzeichnissen) Vielleicht liegt es ja doch an einem Rechteproblem bei dir?? MfG Steran |
Hiho ...
erstmal vielen Dank für eure Hilfe und Mühe, die ihr für mich aufbringt. Werde es später mal testen. (@Duffy) An meinen Rechteprobelemen kann das aber nicht liegen, weil ich Win98 SE habe ^^ (bin übrigens mehr als zufrieden *g*) bis dann Trouble_Maker |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 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