008
17.12.2005, 23:16 Uhr
Spacelord
Hoffnungsloser Fall
|
Also irgendwie wusste ich dass diese Frage kommt
C++: |
#define _WIN32_WINNT 0x0500
#include <windows.h> #include <iostream> using namespace std;
bool done=false;//nicht synchronisiert!!
VOID CALLBACK TimerFunc(PVOID lpParam, BOOL TimerOrWaitFired) { MessageBox(NULL,"Tach Post","Tach",MB_OK); done=true; }
int main() { HANDLE hTimerQ=NULL; HANDLE hTimer =NULL; HANDLE event = CreateEvent(NULL,FALSE,FALSE,"Dummy"); if(event) { hTimerQ= CreateTimerQueue(); if(hTimerQ) CreateTimerQueueTimer(&hTimer, hTimerQ,(WAITORTIMERCALLBACK)TimerFunc, 0, 15000,0, WT_EXECUTEINIOTHREAD); cout<<"Timer gestartet: \t\t"<<GetTickCount()<<endl; } else return -1;
for(int i=0;!done;i++) cout<<i<<endl;
return 0; }
|
Das kleine Beispiel startet den Timer und fängt dann einfach an ne blöde Zahl hochzuzählen und auszugeben.Nach 15 Sekunden wird dann ne Message Box angezeigt.sobald der Ok Button der Message Box gedrückt wurde wird in der Timerfunktion die bool Variable die in der for Schleife des main Threads abgefragt wird auf false gesetzt und somit gestoppt. Normalerweise müsste die bool Variable noch synchronisiert werden aber für das Beispiel wollen wir ja mal die Kirche im Dorf lassen.
Bearbeitung von Spacelord: |
Das event ist übrigens überflüssig...der Code stammt aus nem älteren Beispiel und ist nur etwas angepasst.
|
Von Eigeninitiative will ich jetzt erst garnicht anfangen.... Ich bin ohnehin langsam paranoid und vermute überall nur noch Trolle....
MfG Spacelord -- .....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes. Dieser Post wurde am 17.12.2005 um 23:25 Uhr von Spacelord editiert. |