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++Builder Discussion :

Barre des Tâches Windows


Sujet :

C++Builder

  1. #1
    Membre éprouvé
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Points : 1 007
    Points
    1 007
    Par défaut Barre des Tâches Windows
    Bonjour,
    Je souhaiterais masquer la barre des tâches de Windows de manière à obtenir le même effet que si l'on coche "masquer automatiquement" dans ses paramètres.
    J'ai effectué ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TaskBar = FindWindow("Shell_TrayWnd", NULL);
    ShowWindow(TaskBar, SW_HIDE);
    Mais j'obtiens que la barre est effectivement invisible, mais présente. Par conséquent, mon application ne prend pas toute la place disponible.
    Est ce que quelqun connaît une méthode pour masquer cette barre?
    Merci d'avance

  2. #2
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Je ne sais pas si c'est faisable, certainement que oui, mais tu peut essayer de réduir la barre de tache de façon à ce qu'elle n'apparaisse plus. C'est une idée comme une autre, et je pense qu'elle peut t'aider à t'orienté vers une autre possibilité que d'effacer la barre.
    A plus

  3. #3
    Membre éprouvé
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Points : 1 007
    Points
    1 007
    Par défaut
    C'est une bonne idée, seulement, comment est-il possible de modifier la taille de la barre des tâches?
    Sinon, est-il possible de tester si elle est masquée, de manière à redimensionner ma fenêtre en fonction de la dimension disponible (avec ou sans barre)?

  4. #4
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Peut-être peux-tu utiliser l'API SystemParametersInfo avec l'index SPI_SETWORKAREA;
    Va voir ici http://msdn.microsoft.com/library/de...metersInfo.asp

  5. #5
    Membre éclairé
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Points : 786
    Points
    786
    Par défaut
    Salut !

    x étant le Handle d'une fenêtre quelqueconque :

    1- vérifier si une fenêtre est visible ou pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    bool IsWindowVisible(HWND x)
    


    2- Connaître la dimension et position :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RECT rect;
    GetWindowRect(x,&rect);
    
    



    3- Minimser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    
    bool CloseWindow(x)
    


    4- Réstaurer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ShowWindow(x,SW_RESTORE);
    
    
    5- Positioner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    
    SetWindowPos(x,NULL,gauche,haut,largeur,hauteur,
    SWP_NOCOPYBITS);
    






    Voila,c'est juste un aperçu ,peut être ça t'aiderai
    Pour plus d'info,consultrer l'aide !

    ++



  6. #6
    Membre éprouvé
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Points : 1 007
    Points
    1 007
    Par défaut
    Tout d'abord merci pour vos suggestions.
    Interruption13, j'ai déjà exploré cette piste mais le hic c'est que lorsque la barre est masqué automatiquement, celle-ci est concidéré comme visible, alors qu'elle l'est uniquement quand le curseur est en bas. De plus, lorsque je la masque par un CloseWindow(), il ne se passe rien car celle-ci réaparaît automatiquement. La seule méthode que je connaisse pour le moment est de la rendre invisible, cependant cette opération ne libère pas l'espace. Mais merci pour ces infos.
    Je vais chercher du côté des API Windows que Trap D a donné.

    Merci à tous

  7. #7
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Sinon, moi j'ai déjà fait des application qui ce mettent en pleine écran, la barre de tache est toujours la mais on y a pas accès, vu que je suis en plein écran, je ne sais pas si ca t'arrange ou pas, si oui je rechercherai la méthode.
    A plus

  8. #8
    Membre éprouvé
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Points : 1 007
    Points
    1 007
    Par défaut
    Je viens de trouver ce qu'il me fallait du côté des API Windows (merci Trap D pour le lien très pratique). En fait, je laisse la barre de tâche comme défini par l'utilisateur et j'adapte la taille de mon application.
    Je teste la propriété ALWAYS_ON_TOP de la barre de tâche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    _AppBarData TaskBar;
    TaskBar.hWnd = FindWindow("Shell_TrayWnd", NULL);
    TaskBar.cbSize = sizeof(TaskBar);
    if((UINT) SHAppBarMessage(ABM_GETSTATE, &TaskBar) == ABS_ALWAYSONTOP)
    { 
            PageControl1->Height = 648;
    }
    else
    {
            PageControl1->Height = 674;
    }
    Ici, je diminue juste la taille de mon PageControl1 pour diminuer la taille de la fenêtre.
    Merci encore à vous tous, pottiez, Interruption13h et Trap D pour vos infos

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

Discussions similaires

  1. Ajouter une tâche personnalisé dans la barre des tâches Windows 7
    Par Wriggles dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 03/02/2011, 07h45
  2. [Source] VDM dans la barre des tâches Windows
    Par moithibault dans le forum Contribuez
    Réponses: 3
    Dernier message: 23/01/2011, 19h53
  3. Masquer complètement la barre des tâches Windows 7
    Par thenaoh dans le forum Windows
    Réponses: 1
    Dernier message: 21/01/2011, 21h37
  4. Masquer nouveau shell dans barre des tâches Windows?
    Par pssst dans le forum SWT/JFace
    Réponses: 7
    Dernier message: 13/05/2009, 13h05

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