Minimiser une fenetre c# [Résolu]

ninja1965 3 Messages postés vendredi 30 décembre 2005Date d'inscription 19 mars 2008 Dernière intervention - 16 mars 2008 à 16:46 - Dernière réponse : Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention
- 20 mars 2008 à 06:54
Bonjour,
je voudrait minimiser une fenetre dans la zone de notification en C#. Je travaille en mode console et je ne peut pas changer, donc je ne peut pas utiliser le NotifyIcon.
Pour l'instant j'ai reussi a minimiser la fenetre dans la barre des taches avec ShowWindow(hwind,SW_MINIMISE), mais cela ne m'interresse pas.

Pouvez vous m'aider SVP.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 19 mars 2008 à 07:54
3
Merci
Tu peux tenter de jouer avec les styles de la fenêtre WS_* ou via le Shell avec l'interface ITaskbarList.

Merci Lutinore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de Lutinore
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 16 mars 2008 à 18:38
0
Merci
Salut, même en mode console et sans Form tu peux utiliser un NotifyIcon, suffit de rajouter les bonnes références dans ton projet ( System.Windows.Forms.dll ).

internal static class MainNotifyIcon
{
    private static NotifyIcon notifyIcon = null;


    [ STAThread ]
    private static void Main( )
    {
        Initialize( );
        SystemEvents.SessionEnded += SystemEvents_SessionEnded;
        Application.Run( /* without main form */ );
        SystemEvents.SessionEnded -= SystemEvents_SessionEnded;
        //Exit( );
    }


    private static void Initialize( )
    {
        MenuItem exitItem = new MenuItem( "Exit", delegate { Exit( ); } );
        ContextMenu contextMenu = new ContextMenu( new MenuItem[ ] { exitItem } );
        notifyIcon = new NotifyIcon( );
        notifyIcon.ContextMenu = contextMenu;
        notifyIcon.Icon = Icon.ExtractAssociatedIcon( Application.ExecutablePath );
        notifyIcon.Visible = true;
    }


    private static void Exit( )
    {
        if ( notifyIcon != null )
        {
            notifyIcon.Visible = false;
            notifyIcon.Dispose( );
            notifyIcon = null;
        }


        Application.Exit( );
    }


    private static void SystemEvents_SessionEnded( object sender, SessionEndedEventArgs args )
    {
        Exit( );
    }
}
Commenter la réponse de Lutinore
ninja1965 3 Messages postés vendredi 30 décembre 2005Date d'inscription 19 mars 2008 Dernière intervention - 18 mars 2008 à 20:17
0
Merci
Merci d'avoir répondu si vite, en fait le problème ne se situe pas vraiment ici. J'avais mal posé le problème, ce que je voudrait c'est faire disparaitre l'application de la zone TaskBar car c'est un serveur et c'est génant d'avoir une fenêtre toujours ouverte.

Le but final est de faire une fonction qui permet de mettre l'application dans la zone de notification (en tache de fond) et éventuellement de cliquer dessus pour revoir la console
Commenter la réponse de ninja1965
ninja1965 3 Messages postés vendredi 30 décembre 2005Date d'inscription 19 mars 2008 Dernière intervention - 19 mars 2008 à 14:07
0
Merci
Merci de ton aide j'ai pu trouver. En fait il fallait le code : ShowWindow(GetForegroundWindow(), 11); le 11 permet de faire disparaitre la fenetre de la barres des taches
++
Commenter la réponse de ninja1965
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 20 mars 2008 à 06:54
0
Merci
la valeur 11 ça correspond à SW_FORCEMINIMIZE, je ne vois pas pourquoi ça fait disparaitre la fenêtre de la barre des taches, doit y avoir un "effet de bord" quelque part.. mais bon si ça te convient : )
Commenter la réponse de Lutinore

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.