larion
Messages postés140Date d'inscriptionmercredi 28 avril 2004StatutMembreDernière intervention21 juillet 2005
-
26 mars 2005 à 11:58
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 2016
-
28 mars 2005 à 12:20
Bonjour,
En bas, à droite du bureau se trouve la zone de notification.
Je souhaite obtenir la couleur de fond de cette zone.
Le but est de mettre une icône dans cette zone en corespondance avec cette couleur.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 28 mars 2005 à 12:20
salut,
bon ben alors voilà comment il faut procéder :
- obtenir le handle du tray : (à noter que ca peut ne pas marcher pour les versions suivantes de Windows...
//renvoie le Hwnd du tray
HWND GethWndTray()
{
HWND hwnd=NULL,hwnd2=NULL; //handle
//on descend dans la hiérarchie parent-enfant
hwnd = FindWindow("Shell_TrayWnd", NULL);
hwnd = FindWindowEx(hwnd, NULL, "TrayNotifyWnd", NULL);
hwnd2 = FindWindowEx(hwnd, NULL, "SysPager", NULL); //uniquement XP
if (hwnd2==NULL) // ME,2000
hwnd2=hwnd;
//jusqu//à obtenir le handle de la barre d//outils faisant de tray
hwnd2 = FindWindowEx(hwnd2, NULL, "ToolbarWindow32", NULL);// ME, 2000, XP...
if (hwnd2 == NULL)
return hwnd; // 95,98
else
return hwnd2; // ME, 2000, XP...
}
ensuite : GetWindowRect(hwndtray,&rect) et GetDC(NULL) et GetPixel(hDC,rect.left,rect.top)...
larion
Messages postés140Date d'inscriptionmercredi 28 avril 2004StatutMembreDernière intervention21 juillet 2005 27 mars 2005 à 20:32
Bonjour,
Un masque ?
Mais mon icône contient plusieurs débradés de bleu. Et il y a aussi d'autre couleur.
Si la zone de notification est verte ... les bleus doient passer au verts.
De plus, la transparence ne fonctionne peut-être pas avec tous les OS ? (Win98 par exemple)