Dienst fuer Zeitereignisse



  • Hallo, ich muss euch direkt mit meinem ersten Post fordern, ich hoffe ich bin im richtigen Forum, habe bisher fast nur mit C unter Linux programmiert und muss jetzt was machen was schoen unter Windows (XP) laueft. (mit VC++ 6.0)

    Mein Hauptanliegen ist:
    Ich muss zu bestimmten Zeiten am Tag verschiedene Funktionen (meines Programms) ausfuehren, oder sagen wir eine, zB doit().
    Wie wuerdet ihr da vorgehen? Mit einer while Schleife wo Sleep(20000) (um auf nummer sicher zu gehen dass man jede Minute "trifft") drin ist die dann immer die aktuelle Zeit ueberprueft?
    Was ist dann wenn doit() zu lange braucht? Muss ich dann Threads starten?
    Oder gibt es Timer (die an die Uhrzeit gebunden sind) die Interrupts ausloesen?

    Wie wuerdet ihr das umsetzen?

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

    Danke Euch!

    P.S. nette BB Codes gibt es hier im Forum



  • Willkommen hier. 🙂

    Also, ich hätte zwei Ideen:
    1. Mach einen Timer, der alle Sekunde nach der Uhrzeit guckt und ggf. nen Thread (besser isses) anwirft, der die Aufgabe erledigt.
    Dazu solltest du einen Anfang in der FAQ und/oder hier finden.
    2. Man müsste den windowsinternen Taskplaner von einem Programm aus "füttern" können. Aber ich habe leider keine Ahnung wie. Vermutlich geht das mit WinApi.



  • Ich würde ein Dienstprogramm (eine ganz normale Konsolenanwendung) schreiben, das über den TaskSheduler regelmäßig aufgerufen wird. Welche Funktion des Programms jeweils gestartet wird, ließe sich ja z.B. über Aufrufparameter steuern.

    gibt es ein Tutorial wo erklaert wird wie man ein Dienst programmiert/einrichten muss fuer Windows (XP)

    -> WindowsHilfe (TaskSheduler)?


Anmelden zum Antworten