racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 21 juil. 2006 à 13:31
Salut,
Un timer n'a pas de handle. C'est plutôt celui de la fenêtre à laquelle tu veux attacher ce timer. Ce handle n'est pas obligatoire car on peut utiliser un timer dans un programme sans fenêtre. Donc pour killer un timer, son identificateur suffit. C'est le 2ème paramètre passé à SetTimer(). Puisque tu as mis 0 pour le 1er paramètre, il faudra donc faire pareil avec la fonction Killtimer() en lui passant 0 comme 1er paramètre. Dans ton code, il parait que KillTimer() ne sera jamais appelée. Voici un petit exemple de ce qu'on peut faire:
int compteur=0;
SetTimer(0, 2, 10000, 0);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
if (msg.message == WM_TIMER) Beep(1000,1000);
compteur++;
if(compteur==3)
{
KillTimer(0,2);
break; // sortir de la boucle while
}
}
Ce petit exemple émet un bip toutes les 10 secondes. Au bout du troisième bip, le timer est détruit.