Programm zeitlich steuern

Hallo.

Ich hab ein kleines Problem mit C++

Ich habe zum Test ein C++ Programm geschrieben, das .bat Dateien erstellt und etwas hineinschreibt.

Nun möchte ich diese .bat Dateien aber nicht nur einmal aufrufen
(Befehl: System("Hallo.bat"); )
sondern öfter hintereinander. Aber in bestimmten Zeitintervallen.
Z.b. alle halbe stunde. Aber eben ohne extra das C++ Programm immer wieder zu starten oder die .bat Datei zu starten, sondern einfach immer wieder z.b. jede halbe stunde die .bat datei startet.

Mit eienr Schleife geht das aber viel zu schnell... Wi könnte man das machen?
Danke schonmal... Gruß,
D31~$0u1
 
du könntest einen Timer erstellen, welcher alle 30min oder so auslöst und dann deine batchdatei ausführt. schau mal in der msdn nach "SetTimer". kann grad nix dazu machen, da ich wenig zeit hab und grad nicht zu haus bin...
 
Die beiden einfachsten Möglichkeiten wären diese:
  1. Du benutzt den Dienst "Geplante Tasks" von Windows (Cron unter Linux), näheres hier: http://support.microsoft.com/kb/308569/de
  2. Du benutzt eine "Sleep"-Anweisung, die das Programm eine halbe Stunde warten lässt (siehe hier: http://msdn2.microsoft.com/en-us/library/ms686298.aspx).
    [/list=1]
    Ich würde dir eher zu den geplanten Tasks raten, da dann dein Programm nicht andauernd Speicher verbraucht (Sleep verbraucht kaum CPU-Zeit, also ist das nicht so das große Problem).

    Wenn du allerdings dein Programm selbst als eine Art Daemon laufen lassen willst, beispielsweise um den User nicht damit zu verärgern, erst einmal die Dokumentation für den Windows-Scheduler durchlesen zu müssen, dann nimm die Sleep-Anweisung.
 
wenn du mit sleep arbeitest ist aber afaik dein programm während des sleeps eingefroren. dann müsstest du nen thread starten, welcher den sleep aufruft... da ist das mit dem timer eventuell doch von vorteil...
 
Zurück
Oben