Action toute les 5 heures

Messages postés
90
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
6 mars 2007
-
Messages postés
90
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
6 mars 2007
-
Voila j'aimerai savoir si il existe un moyen de faire en sorte que le programme
face une action bien définit toute les 5 heures?

J'utilise le compitaleur Dev c++

7 réponses

Messages postés
15213
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
21 janvier 2022
101
Regarde du côté des timers

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Un Timer sous Windows 2000/XP peut aller jusqu'à 0x7FFFFFFF millisecondes. Soit plus de 2 milliards. Ce qui fait un peu plus de 596000 heures. Pour qu'une action soit faite toutes les 5 heures, on initialise le timer au lancement de l'application avec:
SetTimer(hwnd,1,18000,0);
La procédure de la fenêtre du programme recevra ainsi le message WM_TIMER toutes les 5 heures. Il suffit de faire ce qu'on veut pendant le traitement de ce message. Si le programme ne contient pas de fenêtre, le premier paramètre de SetTimer() doit être 0. Le message WM_TIMER sera alors intercepté dans la boucle des messages de l'application.
Messages postés
90
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
6 mars 2007

un exemple serait-il possible?
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Avec ou sans fenêtre?
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010

Pas compliqué les timers:

tu declares:
#define TIMER 1

dans ton wm_create tu rajoutes:
case WM_CREATE:
SetTimer,hWnd,TIMER, 18000000, NULL ); //1000=1sec,don 5h=18000000
return 0;

dans ton destroy tu rajoutes:
case WM_DESTROY:
 KillTimer,hWnd,TIMER );
return 0;

tu rajoutes pour capturer les messages:
case WM_TIMER:
    //mon code  
    return 0;

  }
Messages postés
90
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
6 mars 2007

Merci de m'avoir repondu mais est t'il possible de faire un timer a répétition mais cela a l'infini ?
Messages postés
90
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
6 mars 2007

Merci de m'avoir repondu mais est t'il possible de faire un timer a répétition mais cela a l'infini ?