Accueil > > > GMAIL NOTIFIER, POP CHECKER + PILOTAGE LED ASUS
GMAIL NOTIFIER, POP CHECKER + PILOTAGE LED ASUS
Information sur la source
Description
Pour ceux qui on un ordinateur portable Asus.
Il existe une diode pour signaler les nouveaux mails.
Mais il n'existe pas de programme pilotant cette diode pour signaler de nouveaux mails sur les serveur Pop (courrier) et encore moins pour ceux qui ont un compte Gmail.
Logiciel minimal.
Pour l'instant on ne peux vérifier qu'un compte à la fois.
Le login et le pass doit etre mis en dur avant la compilation (pour l'instant.
Il gère :
- Les comptes Pop
- Les comptes Pop sécurisés.
- Les comptes Gmail
Pour compiler il faut ces librairies :
- openssl (http://www.openssl.org/)
- curl (http://curl.haxx.se/)
MAJ 18/11 : Ajout d'un trayicon, menu, ....
MAJ 25/11 : Ajout de la sauvegarde de compte Gmail (évite de toujours à avoir à taper le user/pass). Mlib.lib à linker pour avoir les deux fonctions de cryptage/decryptage de password (car sauvegarde en clair dans le registre).
Source
- #include "mail.h"
- #include "Asus.h"
- #include "Gmail.h"
- #include <windows.h>
- #include "../resource1.h"
- #include "callbacks.h"
-
- extern HANDLE ATKACPIhandle;
-
-
- // Variables de controle
- BOOL Fait = 1;
- int mail;
- WNDCLASS wndclass;
-
- // Elements
- NOTIFYICONDATA TrayIcon;
- HINSTANCE hinst;
-
- // Timers
- UINT_PTR Timer;
- #define TIMER_ID 01
-
- // Resources
- HICON Online;
- HICON Offline;
-
- // Handle de dialogue.
- HWND hMain, hGmail, hPop;
-
- char Login[100];
- char Password[100];
-
- // ID MSG
-
- // TRAYICON
- #define WM_NOTIFYICON WM_USER+1
-
- // MACRO
- #define Load_Icon(icone) (HICON)LoadImage(hinst,icone,IMAGE_ICON,0,0,LR_DEFAULTSIZE);
-
-
- int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, PSTR cmdLine, int iCmdShow)
- {
-
- MSG msg;
-
-
-
- hinst = hInstance;
- wndclass.hInstance = hInstance;
- wndclass.lpszClassName = "hyc";
- wndclass.lpfnWndProc = wndMain;
-
- Online = Load_Icon("ICONE");
- Offline = Load_Icon("ICONE1");
-
- do {
-
-
- if (RegisterClass(&wndclass) == 0 ) break;
-
- hMain = CreateWindow("hyc", "hyc", WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT, CW_USEDEFAULT,
- CW_USEDEFAULT, CW_USEDEFAULT,
- NULL, NULL, wndclass.hInstance, NULL);
-
- if (!hMain) break;
- ZeroMemory(&TrayIcon, sizeof(NOTIFYICONDATA));
- TrayIcon.cbSize = sizeof(NOTIFYICONDATA);
- TrayIcon.hWnd = hMain;
- TrayIcon.uID = 0;
- TrayIcon.hIcon = Online;
-
- TrayIcon.uCallbackMessage = WM_NOTIFYICON;
- TrayIcon.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
-
- strcpy(TrayIcon.szTip, "Non Connecté");
- Shell_NotifyIcon(NIM_ADD,&TrayIcon);
-
- Init_ws32();
- InitATKACPI();
-
-
- while(GetMessage(&msg, NULL, 0, 0))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
-
-
-
-
- } while(0);
-
-
- if(ATKACPIhandle)
- CtrlACPI(MLED, 1, 1);
-
- }
-
-
- void Update_TI(int nb)
- {
- char temp[100];
- switch(nb)
- {
- case -3:
- strcpy(TrayIcon.szTip, "Connexion refusée");
- TrayIcon.hIcon = Offline;
- CtrlACPI(MLED, 1, 1);
- break;
- case -2:
- strcpy(TrayIcon.szTip, "Pas de connexion reseau");
- TrayIcon.hIcon = Offline;
- CtrlACPI(MLED, 1, 1);
- break;
-
- case -1:
- strcpy(TrayIcon.szTip, "Pas de connexion internet");
- TrayIcon.hIcon = Offline;
- CtrlACPI(MLED, 1, 1);
- break;
- case 0:
- strcpy(TrayIcon.szTip, "Pas de nouveau message");
- TrayIcon.hIcon = Online;
- CtrlACPI(MLED, 1, 1);
- break;
-
- case 1:
- strcpy(TrayIcon.szTip,"Vous avez 1 nouveau message");
- TrayIcon.hIcon = Online;
- CtrlACPI(MLED, 1, 0);
- break;
- default:
-
- sprintf(temp,"Vous avez %d nouveaux messages",nb);
- strcpy(TrayIcon.szTip,temp);
- TrayIcon.hIcon = Online;
- CtrlACPI(MLED, 1, 0);
- }
-
-
-
- Shell_NotifyIcon(NIM_MODIFY,&TrayIcon);
- }
#include "mail.h"
#include "Asus.h"
#include "Gmail.h"
#include <windows.h>
#include "../resource1.h"
#include "callbacks.h"
extern HANDLE ATKACPIhandle;
// Variables de controle
BOOL Fait = 1;
int mail;
WNDCLASS wndclass;
// Elements
NOTIFYICONDATA TrayIcon;
HINSTANCE hinst;
// Timers
UINT_PTR Timer;
#define TIMER_ID 01
// Resources
HICON Online;
HICON Offline;
// Handle de dialogue.
HWND hMain, hGmail, hPop;
char Login[100];
char Password[100];
// ID MSG
// TRAYICON
#define WM_NOTIFYICON WM_USER+1
// MACRO
#define Load_Icon(icone) (HICON)LoadImage(hinst,icone,IMAGE_ICON,0,0,LR_DEFAULTSIZE);
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, PSTR cmdLine, int iCmdShow)
{
MSG msg;
hinst = hInstance;
wndclass.hInstance = hInstance;
wndclass.lpszClassName = "hyc";
wndclass.lpfnWndProc = wndMain;
Online = Load_Icon("ICONE");
Offline = Load_Icon("ICONE1");
do {
if (RegisterClass(&wndclass) == 0 ) break;
hMain = CreateWindow("hyc", "hyc", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, wndclass.hInstance, NULL);
if (!hMain) break;
ZeroMemory(&TrayIcon, sizeof(NOTIFYICONDATA));
TrayIcon.cbSize = sizeof(NOTIFYICONDATA);
TrayIcon.hWnd = hMain;
TrayIcon.uID = 0;
TrayIcon.hIcon = Online;
TrayIcon.uCallbackMessage = WM_NOTIFYICON;
TrayIcon.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
strcpy(TrayIcon.szTip, "Non Connecté");
Shell_NotifyIcon(NIM_ADD,&TrayIcon);
Init_ws32();
InitATKACPI();
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
} while(0);
if(ATKACPIhandle)
CtrlACPI(MLED, 1, 1);
}
void Update_TI(int nb)
{
char temp[100];
switch(nb)
{
case -3:
strcpy(TrayIcon.szTip, "Connexion refusée");
TrayIcon.hIcon = Offline;
CtrlACPI(MLED, 1, 1);
break;
case -2:
strcpy(TrayIcon.szTip, "Pas de connexion reseau");
TrayIcon.hIcon = Offline;
CtrlACPI(MLED, 1, 1);
break;
case -1:
strcpy(TrayIcon.szTip, "Pas de connexion internet");
TrayIcon.hIcon = Offline;
CtrlACPI(MLED, 1, 1);
break;
case 0:
strcpy(TrayIcon.szTip, "Pas de nouveau message");
TrayIcon.hIcon = Online;
CtrlACPI(MLED, 1, 1);
break;
case 1:
strcpy(TrayIcon.szTip,"Vous avez 1 nouveau message");
TrayIcon.hIcon = Online;
CtrlACPI(MLED, 1, 0);
break;
default:
sprintf(temp,"Vous avez %d nouveaux messages",nb);
strcpy(TrayIcon.szTip,temp);
TrayIcon.hIcon = Online;
CtrlACPI(MLED, 1, 0);
}
Shell_NotifyIcon(NIM_MODIFY,&TrayIcon);
}
Historique
- 10 novembre 2008 18:50:12 :
- erreur de frappe...
- 10 novembre 2008 18:51:13 :
- ajout des url des bibliothèques
- 10 novembre 2008 20:53:12 :
- Effacement des fichiers inutiles
- 18 novembre 2008 17:11:27 :
- Ajout de resources...
- 21 novembre 2008 13:33:49 :
- Ajout de commentaires dans le code
Ajout de fonctions pour le registre
- 25 novembre 2008 18:07:11 :
- Ajout de la sauvegarde de password.
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
proxy pop: empecher pop et smpt non enregistrés [ par djigeto ]
Salut, je souhaiterai utiliser sur mon win xp (hors windows) un proxy (pop) qui empecherai l'utilisateur lambda de rechercher des email autres que ceu
POP UP Menu [ par mop666 ]
salut, j ai fait un pop up menu tout bete qui s affiche l orsque l evenement RButtonUp est observe sur la fenetre...tout va bien si ce n est que mon m
Pop-up menu - Sélection d'un item [ par PSylvie ]
Bonjour,Je programme avec eVC++ 4.0. pour Smartphone 2003. Je travaille avec un pop-up menu qui se remplit de tous les fichiers texte se trouvant dans
un problème à la compilation [ par Erebus ]
J'ai encore un problème sur mon code source. La dernière fois vous m'avez aidé à le résoudre, alors j'espère que cette fois ci aussi!Mon programme mar
problèmes avec le registre ESP (C++ et ASM) [ par DeadlyPredator ]
Bonjour, je voudrais créer une fonction permettant d'appeller des APIs sans avoir besoins de déclarer leur prototype ni en utilisant les .li
Bloqueur de pop-up [ par thunderfear ]
Bonjour tlmd,J'aimerai crée un navigateur avec un bloqueur de pop-up mais je n'y arrive pas!J'ai crée un navigateur avec les classes MF
Fenêtres pop up [ par Pingouin57 ]
Salut tout le monde, Enfait je voulais savoir comment on peut faire une petite fenêtre qui s'ouvre dans un coin devant toutes les autres, pour
LPD3DXMATRIXSTACK: probleme [ par barraq ]
Salut à tous...Voila je suis entrain de développer une application 3D, et j'ai un petit (gros quand meme :) )souci....voila, j'utilise la st
[Socket] Connection serveur pop [ par LordBob ]
Bonjour,voila en fait j'aimerais savoir pourquoi l'instruction suivante me renvoie faux? peut-être parce que je n'utilise pas la bonne instructio
[Socket] Connection serveur POP [ par LordBob ]
Bonjour a tous,voila j'essai d'écrire une fonction qui me connecte à un serveur POP. voici donc mon code:[code]int iConnect(){ &n
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|