IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

RAFRAICHIR LE SYSTRAY


Sujet :

C++/CLI

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut RAFRAICHIR LE SYSTRAY
    Bonjour à tous,

    J'ai créer un programme qui cache le bouton de déconnexion des périphériques amovibles (l'icône avec la flèche verte).
    Pour le supprimer du SYSTRAY j'utilise l'API SendMessage pour envoyer TB_DELETEBUTTON.

    Tout fonctionne parfaitement, à par le faite qu'il me reste un "vide" dans le SYSTRAY et qu'une action de l'utilisateur est nécessaire pour rafraichir le SYSTRAY (Clique sur le bouton pour voir les icônes inactives)

    J'ai chercher en vain une API permettant de rafraichir celui-ci....
    auriez-vous une idée sur la marche à suivre ?

    Merci

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut RESPONSE
    Bonjour,

    J'ai finit pas trouver, je poste le code au cas ou...
    il suffit simplement d'envoyer WM_PAINT au handle su SYSTRAY

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    void RefreshTaskBar()
    {
        HWND HandleTaskBar = FindWindow("Shell_TrayWnd", NULL);
        if (!HandleTaskBar){}
        else
        {
        HWND HandleTrayNotify = FindWindowEx(HandleTaskBar, NULL,  "TrayNotifyWnd", NULL);
        HWND HandleSysPager = FindWindowEx(HandleTrayNotify, NULL, "SysPager", NULL); //Uniquement pour les machines XP
        if(HandleSysPager)
        HandleTrayNotify = HandleSysPager;
        if(HandleTrayNotify)
        HandleTrayNotify = FindWindowEx(HandleTrayNotify, NULL, "ToolbarWindow32", NULL);
     
        SendMessage(HandleTrayNotify, WM_PAINT, 0, 0);
        }
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.0] Comment rafraichir le systray ?
    Par StormimOn dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/08/2007, 16h55
  2. [MFC] Appli en systray - MAJ du TIP ?
    Par Gothico dans le forum MFC
    Réponses: 2
    Dernier message: 19/11/2003, 22h48
  3. Uniquement dans le systray
    Par atmaniak dans le forum Composants VCL
    Réponses: 5
    Dernier message: 31/10/2003, 17h49
  4. Comment rafraichir le swf ?
    Par oazar dans le forum Flash
    Réponses: 3
    Dernier message: 17/10/2003, 13h08
  5. [VB6] [Système] Icones du systray qui veulent pas partir
    Par Ctof dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/10/2002, 09h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo