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# Discussion :

Surbrillance - clignotement - barre des tâches


Sujet :

C#

  1. #1
    Membre éclairé Avatar de stephane.julien
    Inscrit en
    Septembre 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 342
    Par défaut Surbrillance - clignotement - barre des tâches
    Bonjour,

    J'aimerais, lorsqu'un certain evénement est levé dans mon application, mettre le texte et ce qui va avec en surbrillance (clignotement orange) dans la barre des tâches. Je ne sais pas trop comment expliquer ça...

    J'ai fait qelques rechers et je ne trouve pas ce que je veux. Est-ce que quelqu'un peut m'aider?

    Merci d'avance,
    Stéphane

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    bref, tu voudrais un truc comme cela :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    public partial class Form1 : Form
        {
            private int invert = 0;
            [DllImport("user32.dll")]
            static extern int FlashWindow(IntPtr hWnd, int bInvert);
     
            Timer timer = new Timer();
            public Form1()
            {
                InitializeComponent();
                timer.Interval = 1000;
                timer.Tick += new EventHandler(timer_Tick);
                timer.Start();
            }
     
            void timer_Tick(object sender, EventArgs e)
            {
                FlashWindow(Handle, invert);
                invert = (invert == 1) ? 0 : 1;
                Trace.WriteLine("invert = " + invert.ToString());
            }
     
            private void Form1_Load(object sender, EventArgs e)
            {
                FlashWindow(Handle, 1);
            }
        }
    The Monz, Toulouse

  3. #3
    Membre éclairé Avatar de stephane.julien
    Inscrit en
    Septembre 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 342
    Par défaut
    Euh, je sais pas trop... J'ai essayé ton code. Les 1 et 0 sont bien affichés dans la console mais il ne se passe rien au niveau GUI... Lorsque je réduit l'application, l'application dans la barre des tâches devient orange en continu...

    Je vais donner un exemple de ce que j'aimerais : Lorsque tu télécharge quelque chose, une fenêtre de téléchargement s'ouvre. Tu retournes sous ton Visual Studio, puis quand le téléchargement est terminé, la fenêtre de téléchargement se met à clignoter dans la barre des tâches (orange-bleu-orange-bleu-...), tout en restant réduite.

    Merci d'avance!
    Stéphane

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    t'es sous quel OS ?

    J'ai essayé mon code sur ma machine, et la barre de tache clignote bien

    Maintenant, tu pourrais lancer le timer sur un minimized plutot qu'à l'arrache
    comme présenté dans mon exemple

    Cela dit... la fonction FlashWindow est bien celle qu'il faut utiliser

    The Monz, Toulouse

  5. #5
    Membre éprouvé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Par défaut
    Je ne suis pas certaine d'avoir compris ton soucis, mais pour faire clignoter ton appli dans la barre de tâches, y'a une source DVP qui permet ça : http://dotnet.developpez.com/sources...ms#FlashWindow

  6. #6
    Membre éclairé Avatar de stephane.julien
    Inscrit en
    Septembre 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 342
    Par défaut
    J'utilise un XP pro SP2. Oui il faut que je mette le code au bon endroit avec les bonnes conditions. Pour ça pas de problème. Par contre, ma fenêtre ne clignote toujours pas. Voilà ma fenêtre de sortie lorsque j'exécute l'application. Peut-être qu'il y a des info. Le chargement de la dll échoue peut-être? Ce qui est bizarre, c'est que je n'ai aucune exception, erreur, ...

    Merci de votre aide !

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    'WindowsApplication2.vshost.exe' (Managé) : 'C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll' chargé, chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'WindowsApplication2.vshost.exe' (Managé) : 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll' chargé, chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'WindowsApplication2.vshost.exe' (Managé) : 'C:\WINDOWS\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll' chargé, chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'WindowsApplication2.vshost.exe' (Managé) : 'C:\WINDOWS\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll' chargé, chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'WindowsApplication2.vshost.exe' (Managé) : 'C:\WINDOWS\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll' chargé, chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'WindowsApplication2.vshost.exe' (Managé) : 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll' chargé, chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'WindowsApplication2.vshost.exe' (Managé) : 'C:\Documents and Settings\Julien\Mes documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\bin\Debug\WindowsApplication2.vshost.exe' chargé, chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'WindowsApplication2.vshost.exe' (Managé) : 'C:\WINDOWS\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_fr_b77a5c561934e089\mscorlib.resources.dll' chargé, chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'WindowsApplication2.vshost.exe' (Managé) : 'C:\WINDOWS\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll' chargé, chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'WindowsApplication2.vshost.exe' (Managé) : 'C:\WINDOWS\assembly\GAC_MSIL\System.Deployment\2.0.0.0__b03f5f7f11d50a3a\System.Deployment.dll' chargé, chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    'WindowsApplication2.vshost.exe' (Managé) : 'C:\WINDOWS\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll' chargé, chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    Le thread 0x358 s'est arrêté avec le code 0 (0x0).
    Le thread 0x6bc s'est arrêté avec le code 0 (0x0).
    'WindowsApplication2.vshost.exe' (Managé) : 'C:\Documents and Settings\Julien\Mes documents\Visual Studio 2005\Projects\WindowsApplication2\WindowsApplication2\bin\Debug\WindowsApplication2.exe' chargé, symboles chargés.
    'WindowsApplication2.vshost.exe' (Managé) : 'C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll' chargé, chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    invert = 1
    invert = 0
    invert = 1
    invert = 0
    invert = 1
    invert = 0
    invert = 1
    invert = 0
    Le thread 0xb5c s'est arrêté avec le code 0 (0x0).
    Le thread 0x9ec s'est arrêté avec le code 0 (0x0).
    Le programme '[2792] WindowsApplication2.vshost.exe: Managé' s'est arrêté avec le code 0 (0x0).

  7. #7
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    ton log est normal même si ca marque que le thread est arrêté avec le code 0
    xO

    pour le reste t'as bien Windows XP avec le thème XP dessus et pas forcément un thème exotique?

  8. #8
    Membre éclairé Avatar de stephane.julien
    Inscrit en
    Septembre 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 342
    Par défaut
    Oui c'est ça, j'ai le thème XP de base, pas de variante à ce niveau là... Pour ce qui est de l'exécution de l'appli, ce n'est pas le code 0 qui me fais souci (au contraire), c'est plutôt :

    chargement des symboles ignoré
    Je ne sais pas ce que ça veut dire. A mon avis c'est parce que les dll ne sont pas compilées et mode DEBUG et que le débogueur ne peut pas entrer dans les dll, mais je me pose quand même la question...

  9. #9
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    si la dll se chargeait mal je ne pense pas que tu observerais ceci :
    Lorsque je réduit l'application, l'application dans la barre des tâches devient orange en continu...
    Puisque FlashWindow est la méthode de user32.dll à utiliser pour ce genre de chose je pense que sur google tu devrais trouver des informations dessus pour mieux la comprendre et apprendre à l'utiliser.

    Bien qu'elle semble être simple d'utilisation, on lui passe le handle de la fenêtre, et un intéger :
    0 -> pas de clignotement.
    1 -> clignotement.

    (j'espère que je n'inverse pas.)

  10. #10
    Membre éclairé Avatar de stephane.julien
    Inscrit en
    Septembre 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 342
    Par défaut
    Ca fonctionne bien. Je n'arrive juste pas à avoir un clignotement régulier mais ce n'est pas grave. Ce doit être un problème de timer.Interval...

    Merci à tous!

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

Discussions similaires

  1. [VB 2005 EE] Clignotement dans la barre des tâches
    Par Pikasacha dans le forum Windows Forms
    Réponses: 6
    Dernier message: 29/04/2007, 23h56
  2. Réponses: 15
    Dernier message: 12/01/2007, 10h33
  3. Faire clignoter la barre des tâches
    Par jamesb dans le forum C++Builder
    Réponses: 10
    Dernier message: 11/08/2006, 21h21
  4. [barre des tâches]Faire clignoter mon programme
    Par Baptiste Wicht dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 05/06/2006, 20h20
  5. Faire clignoter la barre des tâches
    Par SteelBox dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 18h16

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