leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 2010
-
20 sept. 2004 à 12:28
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 2012
-
20 sept. 2004 à 20:46
salut a tous.
dans un ancien post, javais posé une question, on ma dit que je devais créer un thread, fait mon waitforsingleobject dans mon thread, et le fait ainsi: waitforsingleobject (Handle_Event, time);
alors ok, mais je capte pas comment marchent les events. alors est ce que vous auriez un exemple de fonctionnement a me donner, ou une source qui utilise ce genre de chose (commentée de préférence), histoire que je capte comment je dois faire mon truc?
merci d'avance
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 20 sept. 2004 à 20:46
Salut,
Le 2eme param de SetTimer est un "timer ID", autrement dit un nombre que tu choisis toi meme pour identifier ton timer.
Lorsque tu recois WM_TIMER, le wParam est l'id du timer qui a généré le message WM_TIMER, et donc cela te permet de gerer plusieurs timer differents en meme temp.
Pour redefinir le timer, il suffit de reappeler SetTimer() avec le meme timer ID et un nouveau 'timeout'.
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 20 sept. 2004 à 17:47
faire un prog qui eteint lordi a une heure donnée.
jai deja fait tte linterface, il ma manque juste ca, en gros, ce qu'on ma dit de faire:
monthread:
temps <- calcul du tps restant
waitforsingleobject (Handle_du_event, temps);
ok, mais je capte pas ce qu'est un event, et comment je vais traiter mon thread, paske a priori, en faisant ca, comment je sais quand je sors de mon thread, et donc comment j'execute les traitements suivant? bon je sais pas si c'est tres clair, mais j'espere
Vous n’avez pas trouvé la réponse que vous recherchez ?
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 20 sept. 2004 à 17:59
bah le probleme est que je dois gérer ma fenetre en meme temps, qui est placée ds le systray. dc un timer va me bloquer la gestion de ma fenetre, et je peux pas modifier l'heure de fermeture ds ma fenetre ds ce cas....c'est plutot embetant tu trouve pas? donc gerer ds un thread a part
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 20 sept. 2004 à 18:04
Salut,
Bah non justement! un timer va t'envoyer un message WM_TIMER au bout d'un temp que tu aura définis, sans bloquer le traitement des autres messages.
Regarde SetTimer() et KillTimer() dans msdn.
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 20 sept. 2004 à 19:29
oki, c'est coole. donc je fait si j'ai bien tout compris :
case wm_initdialog:
settimer (hwnd, TIMER_IDENTIFIER, Time, NULL);
etc...
case wm_timer:
killtimer(hwnd, TIMER_IDENTiFIER);
ExitWindowsEx(...);
etc...
case truc:
//si je dois redefinir mon timer
settimer (hwnd, TIMER_IDENTIFIER2, Time2, NULL);
dis moi si je me suis planté quelque part.
par contre, TIMER_IDENTIFIER, c'est koi au juste? faut que je le definisse comment? merci d'avance. et merci deja pour tt ca, ca m'eclaire deja pas mal