AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Autostart: Wieso funktioniert der Code nicht ?!?
Thema durchsuchen
Ansicht
Themen-Optionen

Autostart: Wieso funktioniert der Code nicht ?!?

Ein Thema von Trouble_Maker · begonnen am 24. Jun 2003 · letzter Beitrag vom 3. Jul 2003
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#21
  Alt 1. Jul 2003, 18: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
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#22
  Alt 1. Jul 2003, 19: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

Reg.WriteString(AppTitle,AppName); mit

Code:
Reg.WriteString(AppTitle,[color=red]'"'+[/color]AppName[color=red]+'"'[/color]);
versuchen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#23
  Alt 1. Jul 2003, 19: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
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#24
  Alt 2. Jul 2003, 19: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
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#25
  Alt 2. Jul 2003, 22: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;
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Steran

Registriert seit: 14. Jan 2003
42 Beiträge
 
#26
  Alt 3. Jul 2003, 11: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
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#27
  Alt 3. Jul 2003, 13: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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 23:20 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