Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Programmstart bestimmen (https://www.delphipraxis.net/139145-programmstart-bestimmen.html)

Major1337 24. Aug 2009 16:57


Programmstart bestimmen
 
Hey,

ich möchte das mein Programm nachdem ich den PC hochgefahren habe selbst innerhalb von einer bestimmten Zeit startet.
Meine erste Lösung war eine Batch-Datei zu erstellen in der ich das Programm erst auffordere nach einer gewissen Zeit das Programm zu starten.
Diese Batch-Datei habe ich dann in den Autostart kopiert und es ging auch alles wunderbar. Das Programm muss erst nach ein paar Minuten starten, da es eine gewisse Zeit brauch bis sich der PC mit W-Lan verbindet, da das Programm ohne W-Lan nichts anfangen kann und Fehlermeldungen bringt. Finde diese Lösung nicht wirklich praktisch.
Habt ihr noch Vorschläge, wie es über das Delphiprogramm steuern kann? oder andere Ideen? :P


Mfg
Major1337

Andreas L. 24. Aug 2009 17:00

Re: Programmstart bestimmen
 
Kannst zum Beispiel mit einem Timer und Hier im Forum suchenShellExecute machen.

himitsu 24. Aug 2009 17:08

Re: Programmstart bestimmen
 
er muß aber auch so oder so erstmal ein Programm starten (egal welchen der schon genannten Weger er verwendet)

statt der Batch kannst du aber auch dein Programm, mit der "warte noch etwas"-Nachricht über einen Linl (.lnk) im Autostart starten oder du trägst den Befehl in eines der Autostart-Verzeichnisse in der Registry ein.

also entweder er startet sein Programm sofort und sagt ihm per parameter "warte noch 5 Minuten",
dann wird z.B. in der .DPR gleich zum Anfang darauf eingegangen, gewartet und erst nach Zeitablauf fortgesetzt,

oder er baut sich einen Loader, welcher via Autostart startet, etwas wartet, dann das andere Programm startet und sich wieder beendet.



PS: Wenn ich Zeit hab, bastel ich hier an einem Tool, welches unter Anderem auch mal die Autostarts (anderer Programme) ändern können soll ... erstellen, löschen, nur deaktiveren oder eben zeitversetzt starten.
Wollte da mal einige Funktionen Pluginmäßig kombinieren, damit nur ein Propzess ständig aktiv ist und nicht tausende für jede kleine Aufgabe

Andreas L. 24. Aug 2009 17:15

Re: Programmstart bestimmen
 
Ich dachte das zu startende Programm ist nicht von ihm bzw. er hat keinen Zugriff auf den Source. Sowas hab ich auch gemeint:
Zitat:

Zitat von himitsu
oder er baut sich einen Loader, welcher via Autostart startet, etwas wartet, dann das andere Programm startet und sich wieder beendet.


himitsu 24. Aug 2009 17:19

Re: Programmstart bestimmen
 
ich dachte er meint ein Eigenes

Zitat:

möchte das mein Programm ... selbst innerhalb von einer bestimmten Zeit startet.

Major1337 24. Aug 2009 17:30

Re: Programmstart bestimmen
 
Hey,

ich habe schon Zugriff auf den Source :P aber die Idee mit einem extra Programm ist schon gut.
Die werde ich vermutlich auch umsetzten, gibts bei ShellExecute auch einen Parameter mit der ich die Zeit steuern kann?
So kann ich dann auch ein try except einbauen, wenn er keinen W-Lan Zugriff bekommt und ein tolles Intro mit Ladebalken machen ^^

Matze 24. Aug 2009 17:35

Re: Programmstart bestimmen
 
Ich würde das mit einer Anwendung lösen.
Zu Beginn startest du einen Timer, der die entsprechenden Funktionen nach einer gewissen Zeit aufruft. Es wäre auch denkbar, im Timer alle 15 Sekunden zu prüfen, ob eine WLAN-Verbindung vorhanden ist. Ist sie das, kannst du entsprechende Aktionen ausführen.

Ich vermute, dass du im Internet (evtl. auch in der DP) etwas findest, um zu prüfen, ob eine WLAN-Verbindung vorhanden ist. Vielleicht reicht es schon, einen Server anzupingen und auf ein entsprechendes Timeout zu reagieren.

Reinhard Kern 24. Aug 2009 17:44

Re: Programmstart bestimmen
 
Hallo,

eine eigene Anwendung lohnt sich kaum, weil das Gleiche mit einer 2zeilgen Batchdatei geht:

sleep 10
start meineAnwendung.exe

sleep ist aus dem Resource Kit, Download bei Microssoft.

Gruss Reinhard

himitsu 24. Aug 2009 18:17

Re: Programmstart bestimmen
 
dann hat man immer noch das rumligende (maximal minimierte) Konsolenfenster ... die Anwendung könnte man solange wenigstens aus der Taskleiste entfernen :angel2:

Major1337 24. Aug 2009 19:01

Re: Programmstart bestimmen
 
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);

begin
try
 Progressbar1.Position := Progressbar1.Position +1;
 Application.ProcessMessages;
 if Progressbar1.Position = 100 then
  begin
    Timer1.Enabled := False;
    Progressbar1.Position := 0;
  end;
finally
shellexecute(0, 'open', pchar('C:\Programme\Zattoo\zatto1.exe'), nil, nil, 0);
end;
PS: Der Zatto Pfad ist nur mal testweise ^^


Ich bekomme den Fehler: Undeclare Indefier ShellExecute :O


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:53 Uhr.
Seite 1 von 3  1 23      

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