begin process at 2008 08 21 19:23:31
1 229 610 membres
423 nouveaux aujourd'hui
14 263 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MOUSE-O-METER


Information sur la source

Catégorie :Périphériques Classé sous : mouse, meter, click, distance, souris Niveau : Débutant Date de création : 04/06/2006 Date de mise à jour : 05/06/2006 23:10:02 Vu / téléchargé: 6 941 / 513

Note :
Aucune note

Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

Description

Vous voulez savoir combien vous avez parcouru de mètres aujourd'hui avec votre souris ou encore combien de fois vous avez cliqué ? Ce programme est pour vous :P

Conclusion

Le fonctionnement est simple. Je crois que vous serez tous en mesure de comprendre :P
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

05 juin 2006 23:10:02 :
Correction apporté à la fermeture des threads. Puis j'ai compilé en release comme demandé ;)
  • signaler à un administrateur
    Commentaire de BruNews le 04/06/2006 23:28:28 administrateur CS

    Exemple à ne jamais suivre.
    Si on fait du MFC alors on utilise les fonction thread de MFC, ce qui peut passer ici mènerait au crash dans un projet plus important. Richter explique le danger de non appel correct des constructeurs lors d'appel direct de CreateThread avec des classes C++, s'y reporter.
    Encore pire est l'emploi de TerminateThread, CString et autres bidules, absolument rien n'est libéré. Imagine si ton prog devait continuer après la fermeture des threads...

  • signaler à un administrateur
    Commentaire de gbourgeois0019 le 05/06/2006 01:44:35

    Encore pire est l'emploi de TerminateThread, CString et autres bidules, absolument rien n'est libéré. Imagine si ton prog devait continuer après la fermeture des threads...

    J'ai pas trop saisi .. est-ce que tu pourrais m'Expliquer un peu plus svp ? Je sais que je fais des erreurs et c'est normal je crois car je ne programme pas depuis longtemps. L'important c'est que je cherche à m'améliorer !

    Merci

  • signaler à un administrateur
    Commentaire de nightlord666 le 05/06/2006 09:02:59

    En plus la source existe deja en mieux (hook souris):
    http://www.cppfrance.com/codes/DISTANCE-PARCOURRUE-SOURIS-WIN32-HOOK_18005.aspx

  • signaler à un administrateur
    Commentaire de BruNews le 05/06/2006 10:42:25 administrateur CS

    Derrière TerminateThread, plus aucun temps processeur ne sera alloué au thread car considéré comme plus existant. CString (et/ou autre classe) ne passera jamais par son destructeur et ne libèrera jamais la mémoire allouée.
    TerminateThread est une fonction d'extrème urgence, il faut prévoir un mécanisme de sortie 'propre' pour le thread, return valeur.

  • signaler à un administrateur
    Commentaire de MuPuF le 05/06/2006 14:26:43

    salut brunews, ce probleme avec terminateThread se pose t'il aussi avec la fonction ExitThread ?
    Merci d'avoir précisé pour le TerminateThread.
    Extreme urgence, c'est un blocage de la thread par exemple ? (je m'en sert contre ça justement, un timer et si ça fais plus de 5 secondes que la thread devrait etre fermé alors hop terminatethread).
    merci encore de la précision, j'avais pas pensé aux strings qui ne se désaloueraient pas.

  • signaler à un administrateur
    Commentaire de BruNews le 05/06/2006 14:47:49 administrateur CS

    C'est "un peu plus propre" car la pile du thread est désallouée mais aucun objet C++ ne passera par son destructeur (idem en cela à TerminateThread).
    Un code C++ dont les threads manipulent des classes doit utiliser _beginthreadex() (ou fonctions MFC si est le cas) et s'arranger pour faire sortir chaque thread par son 'return value'.

  • signaler à un administrateur
    Commentaire de MuPuF le 05/06/2006 14:52:20

    ok merci, je vais changer tout mes exit thread en return alors, par chance j'en ais peu.

  • signaler à un administrateur
    Commentaire de gbourgeois0019 le 05/06/2006 17:08:53

    Merci BruNews pour ton explication. Je vais essayer de ne pas l'oublier !

  • signaler à un administrateur
    Commentaire de gbourgeois0019 le 05/06/2006 18:07:44

    donc si j'ajoute dans la boucle de chacuns des threads le code suivant :

    PeekMessage(&Msg,NULL,0,0,PM_REMOVE);
    if ( Msg.message == EXIT )
    {
       return;
    }

    Et que je remplace chaque TerminateThread par ceci :

    PostThreadMessage(m_IdThread,EXIT,0,0);

    //EXIT etant un #define EXIT WM_USER+1

    Est-ce que je règle le problème ??

  • signaler à un administrateur
    Commentaire de wxccxw le 05/06/2006 22:48:49

    ton application n'est elle pas en DEBUG, plz compile en RELEASE !

  • signaler à un administrateur
    Commentaire de gbourgeois0019 le 06/06/2006 00:03:34

    C'est fait ;)

  • signaler à un administrateur
    Commentaire de BruNews le 06/06/2006 03:26:18 administrateur CS

    int bstop = 0;

    Les threads regardent régulièrement bstop et si le prog le met à 1 les threads sortent, très simple.

  • signaler à un administrateur
    Commentaire de gbourgeois0019 le 06/06/2006 07:20:48

    Ok Merci ! ;)

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS