Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Autostart: Wieso funktioniert der Code nicht ?!? (https://www.delphipraxis.net/5940-autostart-wieso-funktioniert-der-code-nicht.html)

Trouble_Maker 1. Jul 2003 19:52

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

Christian Seehase 1. Jul 2003 20:41

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:
Reg.WriteString(AppTitle,AppName);
mit

Code:
Reg.WriteString(AppTitle,[color=red]'"'+[/color]AppName[color=red]+'"'[/color]);
versuchen.

Trouble_Maker 1. Jul 2003 20:53

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

Trouble_Maker 2. Jul 2003 20:23

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

Duffy 2. Jul 2003 23:03

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;

Steran 3. Jul 2003 12:34

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

Trouble_Maker 3. Jul 2003 14:41

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.
Seite 3 von 3     123   

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