En bref :
Ce logiciel composé de 3 exécutables permet de vous avertir lorsque la date anniversaire de l'un de vos proches (figurant dans la liste) est d'aujourd'hui ou d'une date récente (depuis le dernier lancement de l'ordi).
J'ai essayé de m'appliquer question propreté et commentaire... mais je ne suis pas un spécialiste des MFC, il y a donc surrement à redire sur certains points, je suis preneur de toute remarque.
Cahier des charges :
- La recherche de date anniversaire se fait au démarrage du PC.
- Le programme de recherche (au démarrage) doit être le plus light possible (92ko).
- Le gestionnaire des proches doit être facile à utiliser pour les néophytes.
- Les annonces de date anniversaire sont ludiques avec des infos "rigolottes" (Astro zodiaque, chinoise, gauloise, Celtes, dates anniv des célébrités nés le même jour, etc...)
Les exécutables :
AnniversaireVision.exe : Ihm permettant de gérer la liste de vos proches (c'est lui qu'il faut lancer la toute 1ère fois).
Parseur.exe : Programme hyper léger (qui démarre automatiquement au démarrage de l'ordi) qui recherche si il existe une date anniversaire à souhaiter aujourd'hui. Si oui, il lance IhmAnniv.exe pour afficher l'info. Sinon, il se termine (sans occuper de mémoire en font de tâche).
IhmAnniv.exe : Ihm permettant d'afficher l'anniversaire de l'un de vos proche.
Marche à suivre pour vous :
- Compiler les 3 exécutables AnniversaireVision.dsw, IhmAnniv.dsw et Parseur.dsw
- Exécuter AnniversaireVision.exe
--> Le programme place Parseur.exe dans le menu Démarrage du PC. Dès lors, à chaque démarrage, les dates anniversaires de vos proches seront checkées.
Intérêts du code pour les développeurs :
- Empêcher l'existence de 2 instances de l'application
- Afficher une image en arrière plan d?un fenêtre (Méthode OnEraseBkgnd)
- Afficher des images dans les boutons
- Changer la couleur de fond et de remplissage du texte dans un control (Méthode OnCtlColor).
- Changer la police du texte dans un control.
- Appliquer des tooltips (infos bulles) aux controls (Méthode InitToolTips)
- Récupérer les informations de « versionning » du fichier (AppVersion.cpp)
- Ouvrir une page web dans I.E. (Méthode CAboutDlg::OnLabelSiteInternet)
- Créer un nouvel E-mail via MAPI (Email.cpp)
- Utiliser le control CMonthCalCtrl (CalandrierDlg.cpp)
- Empêcher la touche ?Echapp? et ?Enter? de fermer violemment la boite de dialogue (Méthode PreTranslateMessage)
- Créer des raccourcis dans le menu ?démarrer ?, ?Programmes? et sur le ?bureau? (Raccourci.cpp)
- Récupérer le numéro de série du disque dur lui-même (DiskId.cpp)
- Récupérer le numéro de série d?un volume disque (CSysteme::GetVolumeInfo)
- Lancer un processus et attendre la fin de son exécution pour rendre la main (CSysteme::LancerProcess)
- Récupérer le répertoire de l?exécutable de l?application (le process en cours) (CSysteme::RecupereAppPath).
- Ouvrir un fichier dans le logiciel le mieux adapté à son ouverture (ici fichier d?aide .doc)
Conclusion :
Pas de bugs connus pour le moment.
En préparation :
Afficher les fêtes des saints patrons
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.