Timer in MFC-Konsole
-
Hi,
Ich möchte gerne in einer MFC unterstützenden Konsolenanwendung einen Timer verwenden.
Leider funktioniert das nicht über SetTimer() musste ich leider feststellen.
Wie kann ich dann einen Timer in einer Konsolenanwendung nutzen? bzw geht das überhaupt?
Danke
mfg
Popogas
-
Für einen Timer brauchst du ein Fenster, weil das eine Funktion von CWnd ist.
Aber eine Alternative weiß ich leider nicht. Sleep würde mir noch einfallen, falls du einfach ein wenig warten willst.
-
ne warten will ich nicht.
ich möchte die zeit bestimmen, die ein thread braucht um eine datei im internet zu öffnen und dann zu laden.
kein timeout, sondern wirklich die benötigte zeit, falls die datei vorhanden ist
-
Du willst wissen, wie lange etwas dauert? Dann warst mit SetTimer auf dem falschen Weg.
SetTimer schickt nach einer bestimmten Zeit einen Nachricht - falls du also alle 10 Sekunden (z.B.) was machen willst, dann wäre das was.Was du brauchst ist CTime::GetCurrentTime und dann die Differenz ausrechnen (sekundengenau).
Oder such nach GetTickCount.
-
ok danke schonmal.
werd mir das mal anschauen.
THX!!
-
Für einen Timer brauchst du ein Fenster, weil das eine Funktion von CWnd ist
Das ist MFCisch gedacht schon richtig, man kann aber auch mit der WinApi - Funktion ::SetTimer einen Functionspointer auf eine Funktion übergeben, die beim Timerevent aufgerufen werden soll (man hat dann halt keine nIdEvents mehr).
Schau Dir für eine simple Zeitmessung mal timeGetTime() an. Ist IMO für so einfache Sachen schöner zu handhaben.
-
Ah, okay - mit API hab ich mich noch nicht so direkt auseinander gesetzt.