Dienst fuer Zeitereignisse

Hallo, also mein Hauptanliegen ist:
Ich muss zu bestimmten Zeiten am Tag Verschiedene Funktionen ausfuehren, oder sagen wir eine, zB doit().
Wie wuerdet ihr da vorgehen? Mit einer while Schleife wo Sleep(100) (ich programmiere unter Windows mit VC++ 6.0) drin ist die dann immer die aktuelle Zeit ueberprueft?
Was ist dann wenn doit() zu lange braucht? Muss ich dann Threads starten?

Wie wuerdet ihr das umsetzen?

  1. Frage: gibt es ein Tutorial wo erklaert wird wie man ein Dienst programmiert/einrichten muss fuer Windows (XP) ?

Danke!

Hi David!

Hatte mal ein ähnliches Problem als ich mir ein Backup-Programm gebastelt habe.
Ich hab das so gelöst daß ich „GetLocalTime()“ (windows.h bei Borland) die Systemzeit abgefragt habe und anhand der die Zeit bis zum nächsten Termin berechnet habe und mit dem Wert dann einen Timer gesetzt habe der dann widerum die eigentliche Funktion ausgeführt hat (Borland C++ Builder).
Weiß leider nicht in wiefern das mit VC++ möglich ist, aber so verschieden wirds wohl nicht sein. Das Programm habe ich dann übrigens einfach ins Autostartverzeichnis kopiert und mir eine ini-Datei gebastelt damit ich die Zeit variabel halten konnte. Wenns statisch läuft kann man sich die Arbeit aber gut sparen…
Ach so, deine while-schleife ist nicht so toll, weil das programm ständig arbeiten würde und somit das system belastet (nicht zuletzt durch die permanete zeitabfrage). Klar könnte man den intervall für die zeitabfrage auf eine Minute setzen, aber warum wenn man auch gleich die Zeit bis zur Programmausführung setzen kann?
Evtl. macht es Sinn eine Variable zu deklarieren die angibt ob an dem Tag schon die Aktion durchgeführt wurde. Hab bei mir den Wochentag dafür genommen, aber das ist halbwegs Geschmackssache.
Leider habe ich den funzenden Quelltext z.Zt. nicht da, sonst würd Dir nen Auszug schreiben der weiterhilft, aber vielleicht gehts auch so.

Vielleicht hilft Dir der Link etwas weiter:
http://www.vbapihelpline.de/index2.php4

Habe hier im Brett auch mal wegen eine API-Liste gefragt aber schgeint keiner eine zu kennen… :frowning:

Ansonsten noch viel Erfolg!

Guruß Hudel

P.S.: Du kannst Programme übrigens auch mit dem Task-Planer starten.