|
Trouver une ressource
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 !
Sujet : systray [ Archives / API ] (leprov)
Informations & options pour cette discussion
|
dimanche 25 juillet 2004 à 20:57:43 |
systray

leprov
|
bonjour a tous. apres avoir arpenté les sources, j'ai trouvé pas mal de sources pour mettre un prog ds la systray, mais jai pas mal de mal a capter comment ca fonctionne. je debute en prog windows, je suis juste etudiant en info, dc cest prog unix a fond, et surtt etude de lalgo et des fonctrions de bases du c++, et je me sentains de me mettre aux api ds mon coin, mais la la systray...je men sors pas avec touts ces sources, si qqun pouvait me donner qqs explications sur les objets qu'on utilise, les fonctions, les identifieurs, etc.....ca serait sympa. merci d'avance
|
|
|
|
dimanche 25 juillet 2004 à 21:14:48 |
Re : systray

BruNews
|
Tu as regarde Shell_NotifyIcon() dans MSDN ? Faut commencer par la, ensuite tu demandes ce qui te semble obscur, ok ?
ciao... BruNews, Admin CS, MVP Visual C++
|
|
|
|
dimanche 25 juillet 2004 à 21:22:23 |
Re : systray

leprov
|
bon alors pr ce squi me semble obscur....on ma passé ce bout de code.
/*~~~~~~~~~~~~~~~~~*/ NOTIFYICONDATA tnid; /*~~~~~~~~~~~~~~~~~*/
tnid.cbSize = sizeof(NOTIFYICONDATA); tnid.hWnd = this->Handle; tnid.uID = ICON_ID; /* personal ID */ tnid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; tnid.uCallbackMessage = WM_ICON_MSG; tnid.hIcon = Icon->Handle; AnsiString s_tmpappname = "EVATIS-B\0" ; memcpy(tnid.szTip,s_tmpappname.c_str() ,s_tmpappname.Length()); tnid.szTip[s_tmpappname.Length()] = '\0'; CanClose = false; Shell_NotifyIcon(NIM_ADD, &tnid);
et pour la rouvrir en cas de click, yu intercepte le message utilise dans uCallbackMessage:
case WM_ICON_MSG: switch(Message.WParam) { case ICON_ID: if(Message.LParam != WM_LBUTTONDBLCLK) break;
/*~~~~~~~~~~~~~~~~~*/ NOTIFYICONDATA tnid; /*~~~~~~~~~~~~~~~~~*/
tnid.cbSize = sizeof(NOTIFYICONDATA); tnid.hWnd = this->Handle; tnid.uID = ICON_ID; /* personal ID */ tnid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; tnid.uCallbackMessage = WM_ICON_MSG; tnid.hIcon = Icon->Handle; Shell_NotifyIcon(NIM_DELETE, &tnid); Show(); ShowWindow(Handle, SW_SHOWMAXIMIZED); SetForegroundWindow(Handle); }
tnid cest quel type d'objet, ca contient quoi? c'est des NOTIFYICONDATA je suppose (enfin pas je suppose, cest clair lol), mais cest quoi exactement?ensuite les Handle, qqun peut m'expliquer un peu? et les flags? jai pas mal dautres bouts de codes avec des trucs obscur, mais la deja ca sera pas mal, ca me permettra surement d'avoir un bon point de depart. merci d'avance, et merci a toi d'avoir deja repondu
|
|
|
|
dimanche 25 juillet 2004 à 21:37:49 |
Re : systray

BruNews
|
Bon si ça te derange pas, on va reprendre avec du simple, si on commence a melanger du stl et autres machins, on a pas fini.
NOTIFYICONDATA TrayIcon; HICON icons[2];
LRESULT CALLBACK WindowProc(HWND hwnd, UINT mssg, WPARAM wParam, LPARAM lParam) { switch(mssg) { case WM_CREATE: TrayIcon.cbSize = sizeof(NOTIFYICONDATA); *((DWORD*) szmaxi) = 0x4E4F4E; // "NON" TrayIcon.hWnd = hwnd; TrayIcon.uID = 0; TrayIcon.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; TrayIcon.uCallbackMessage = WM_MOUSEMOVE; TrayIcon.hIcon = icons[1]; strcpy(TrayIcon.szTip, szmaxi); Shell_NotifyIcon(NIM_ADD, &TrayIcon); ........
va mieux ?
ciao... BruNews, Admin CS, MVP Visual C++
|
|
|
|
dimanche 25 juillet 2004 à 21:43:19 |
Re : systray

leprov
|
vi cest deja plus comprehensible, merci. quelques questions quand meme. ya quoi dans un NOTIFYICONDATA? ensuite ds la ligen suivante : *((DWORD*) szmaxi) = 0x4E4F4E; // "NON" cest koi un DWORD? et pk je met ce pointeur sur cette adresse? enfin, quand jappelle la fonction, je lui donne quoi a bouffer? merci
|
|
|
|
dimanche 25 juillet 2004 à 21:55:06 |
Re : systray

BruNews
|
NOTIFYICONDATA est une structure qu'on doit remplir et passer son adresse a la fonction API. goto MDNS pour details.
char szmaxi[4]; j'ai place "NON" dedans, ce sera le tooltip affiche quand on ballade la souris sur icone dans le systray.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
|
|
dimanche 25 juillet 2004 à 21:59:11 |
Re : systray

leprov
|
merci beaucoup. ca m'eclaire pas mal et la fonction, je lui donne quoi a bouffer a lappel? je lappelle ds mpon winmain (ou dans une fonction appelée par mon winmain), et je lui donne quoi dans les parametres?
|
|
|
|
dimanche 25 juillet 2004 à 22:06:06 |
Re : systray

BruNews
|
Oh j'ai pourtant mis ce qu'il faut, regarde au dessu c'est un winproc, il faut lui donner un HWND comme fenetre a notifier donc ne peut pas etre au debut dans WinMain.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
|
|
dimanche 25 juillet 2004 à 22:07:35 |
Re : systray

BruNews
|
Va prendre le tout, c'est dans ma source 'Limit IE...' ou un nom de ce genre, fichier LimitIE.cpp.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
|
|
dimanche 25 juillet 2004 à 22:11:53 |
Re : systray

leprov
|
merci je vais aller voir la source, si jai des pb je reposterais. merci beaucoup.
|
|
|
Cette discussion est classé dans : prog, sources, ds, systray, mal
Répondre à ce message
Sujets en rapport avec ce message
Nv site sur la prog!! [ par yoman64 ]
Salut je voulais vous avertir que un nouveau site sur la prog vien d'ouvrir:www.php-kode.fr.stSur ce site sa parle de VB ,de C++ et de php.Le principe
comment utiliser getvolumeinformation [ par shinevilkyo ]
tout d abort boujour ,je suis nouveau ds la prog sur windows et j aurais voulu faire un prog qui me permette de liste tout ce qui a ds un cd rom.mais
mes questions sans réponses [ par leprov ]
salut a tous.apres avoir posté ces differentes kestion et ne pas y avoir eu de reponses (maintenant elles sont a perpetes ds la liste des topics, dc j
probleme systray [ par damien174 ]
bonjour est ce ke k'elkun sais ds kel fichier .h se trouve cette fonction : GetSafeHwnd()je voulais ajouter un icone ds le systray mais c++ builder s'
Processus a chaque ouverture de connexion [ par fmurgues ]
Bonjour, Voila je fais un prog (visual C++ en MFC) qui va deconnecter l'utilisateur au bout d'un certain temps. Je mets un compteur a jour toutes le
Aide exercice C [ par lkaiman ]
Bonjour a tousJ'espère que Nowël s'est bien passé pour tous le monde, et que bien sur le nouvel an sera encore meilleur_______________________________
Comment mettre une icone à un prog ? [ par KissyFroth ]
bon je pense que tout est ds le titre : je voudrais simplement mettre une icone à une application : faut-il préciser cela dans les options de compilat
A l'aide (Re prbl icone) [ par KissyFroth ]
Bon ds mon precedent message, je demandais comment on mettait une icone a l'executable généré par le compilateur. j'ai eu une reponse qui a un peu tro
boucle infinie, plantage du prog [ par windowsfashion ]
bonjour Je suis debutant en c++ Quand je demande un nombre (avec cin) et que l'on met à la place des caracteres au lieu d'un nombre, ba sa me fait
Utilisation d'un make file pour compiler et executer pls prog [ par ouafaa ]
Bonjour a tout le monde Bonjour ,j'ai un prog Fichier1.cxx qui me genere un fichier texteet un autre pro
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|