Wintimer v.2 [dev-c++ 4]

Description

Cette source en est à la version 2.
J'avais déjà posté une source de même nom, mais j'ai fait beaucoup de modifications depuis. L'explication de l'ancienne souce n'a donc plus rien avoir avec celle-ci.
(note : l'autre source a été supprimée).

Son utilité:
Il informe l'utilisateur du temps passé sur l'ordinateur pour une journée, ou en fonction du temps écoulé depuis le démarrage d'un ordinateur.
L'utilisateur donne une durée "limite".
Si le temps "limite" est dépassé, il l'avertir par des bips du buzeur de la carte mère, par l'affichage d'un message ou il ne l'avertit pas.

Fonctions API utilisées:
- fonctions gérant la lecture/écriture dans la base des registres
- fonctions gérant les objets des fenêtres
-> SetWindowText(HWND, const CHAR*)
-> SetDlgItemText(HWND, int, const CHAR*)
-> ...
- fonctions gérant l'écriture dans un fichier
- modification de la priorité du processus
- la class WINDOWPLACEMENT
- la class SYSTEMTIME
- la class NOTIFYICONDATA
- GetTickCount()
- la class OPENFILENAME
- les onglets

Utilisation de la source:
D'ABORD exécuter l'utilitaire de configuration du programme.
ENSUITE, vous pouvez exécuter le programme WinTimerv5.exe

En effet, le programme WinTimerv5.exe s'exécute en fonction des paramètres données par l'utilitaire de configuration. Si il ne trouve pas les clés principales (toutes sauf celles de l'enregistrement du temps et de la date), il se ferme après vous avoir avertit qu'il manquait des clés.

Note:
J'utilise la base des registres pour enregistrer les options du timer, parce que, sauvegardées dans la clé HKEY_CURRENT_USER, cela permet de mettre des options différentes pour chaques utilisateurs.

Source / Exemple :


Voir le zip!

Conclusion :


La prochaine MISE A JOUR :
-> AUCUNE (à part pour la correction de possibles bugs)

BUG:
Encore une fois, un bug apparaît quand on choisit l'option "la durée d'ouverture de Windows" de la rubrique "Timer basé sur". En effet, le log des données risque de ne pas se faire si on choisit d'ouvrir la session concernée après la durée du log précédent.
Exemple :
>Après le démarrage de Windows, on ouvre une session autre que celle où ce programme s'exécute avec cette configuration.
>On attend que GetTickCount() soit supérieur à la durée de la session Windows précédente.
>Puis on retourne sur la session où, cette fois-ci, le log est activé, avec l'option décrite ci-dessus.
=>bug!

REMERCIEMENTS:
Aux membres de CPPFrance et en particulier à:
-> Xentor609 pour gèrer les HWND
-> LordBob pour l'utilisation de la systray
-> BruNews pour l'utilisation des fichiers
-> gagah1 pour la gestion des procédures dans les classes
A CGi (membre de http://www.developpez.com) pour l'utilisation des onglets
-> http://chgi.developpez.com/windows/

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.