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 :

Sous Windows 7, empêcher la fermeture de l'application à partir de la miniature de la barre des tâches


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut Sous Windows 7, empêcher la fermeture de l'application à partir de la miniature de la barre des tâches
    Salut.

    Je souhaite que mon application ne puisse pas être fermée en utilisant la petite croix rouge que l'on trouve dans la miniature affichée quand on laisse trainer le curseur sur l'appli dans la barre des tâches, sous Windows 7.
    Au même titre que l'on peut griser la croix rouge dans la fenêtre de l'application elle-même, il doit bien exister une API pour gérer la croix affichée dans la miniature ?
    Une idée ?

    Merci d'avance...

  2. #2
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    Tu dois intercepter le message WM_CLOSE et faire ce que tu veux (ou ne rien faire).

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    Je n'avais pas pensé à ça.
    Ce n'est pas tout à fait ce que je voulais faire mais le résultat attendu est pas mal quand même.
    Merci pour l'info.

    A toutes fins utiles, si quelqu'un sait comment personnaliser (si c'est possible) les boutons contenus dans l'aperçu de la barre des tâches sous W7, je suis preneur

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 124
    Par défaut
    N'ayant pas Seven, je ne peux pas vraiment aider !
    Mais ni OnClose ni OnCloseQuery n'est lancé par l'utilisation de cette croix ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    Salut ShaiLeTroll.

    Le problème n'est pas là.
    Biensûr que les événements OnClose et OnCloseQuery sont déclenchés.
    Mais je vois les choses différemment.
    Si j'utilise ces événements et si l'utilisateur clique sur cette petite croix pour fermer l'application, je vais être obligé de l'informer que pour fermer l'application, il ne faut pas utiliser cette méthode mais plutôt cliquer sur un bouton précis. Au final, 3 clics pour fermer (1 sur la croix, 1 sur la messagebox, et 1 sur le bon bouton).
    Si je grise ou je rends invisible cette croix, l'utilisateur ne pourra fermer l'application autrement qu'en cliquant sur le bouton approprié, et là, 1 seul clic.
    Ca peut paraître léger comme raisonnement, mais quand c'est répétitif, le moindre clic compte.
    Je suis peut être de la vieille école où on économisait les clics et les octets de mémoire ...

  6. #6
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    A mon avis dans ton cas tu devrais utiliser une fenêtre sans borders et créer tes propres boutons.

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    Le hic, c'est que la fenêtre, ce n'est pas moi qui la gère, c'est le système qui l'affiche.
    Je parle de la petite fenêtre d'aperçu de l'appli qui apparait quand tu laisses trainer le curseur de la souris sur la barre des tâches !

  8. #8
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Salut, j'ai une question qui peut paraître stupide. Pourquoi mettre l'icône dans la barre de tâche alors?

    Code pour enlever l'ancien menu Fermer (au cas ou sa t'aiderais):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HMENU MyMenu = GetSystemMenu(Handle, false);
    RemoveMenu(MyMenu, SC_CLOSE, MF_BYCOMMAND);

  9. #9
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    Merci pour le code de l'ancien menu Fermer.
    Je connaissais et c'est d'ailleurs déjà implémenté.

    Pour répondre à ta question concernant l’icône dans la barre des tâches, et bien, c'est juste pour pouvoir restaurer la fenêtre de l'application quand cette dernière a été minimisée

  10. #10
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 124
    Par défaut
    Regarde ITaskbarList et son évolution ITaskbarList3::ThumbBarUpdateButtons



    Ne t'inquiète pas pour l'économie des octets et des clics, je te comprends très bien, j'ai fait bcp d'appli de saisie, hors de question d'utiliser la souris, tout au clavier, c'est plus rapide, à la limite de devoir reprendre des raccourcis des anciennes Applis DOS ou AS400 !

    Ce que je ne comprends pas, c'est le besoin d'avoir qu'un seul point de fermeture !
    (là où je suis c'est pareil, ils ont fait la même chose
    Peu importe d'où est fermée l'application, tant que l'on sait qu'elle l'est on peut faire les traitements adéquats !
    Car, il faut aussi penser au ALT+F4, le double-clic sur l'icone, le clic sur la croix plus toutes les nouveautés !

    EDIT : Le monde est petit : "Utilisez la barre des tâches Windows 7 dans vos applications Delphi 2010"
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  11. #11
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    Salut ShaiLeTroll,

    Tu as raison pour les différents points d'entrée pour accéder à la fermeture de la fenêtre, d'autant qu'on ne peut pas prévoir quelles seront les évolutions de Windows quant à ce sujet.
    Comme le disait TheGzD dans un des premiers posts, il suffisait d'intercepter le message WM_CLOSE. De cette façon, on arrive au même résultat, quelle que soit la méthode utilisée.
    Cependant, merci à toi d'avoir fourni les liens sur la gestion de la barre des tâches de W7, c'est exactement ce que je cherchais et c'est toujours intéressant de se documenter sur les nouveautés (la barre de progression dans le bouton par exemple !).

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/11/2014, 23h38
  2. [AC-2010] Empêcher fermeture d'Access depuis la barre des tâches Windows
    Par franckb74 dans le forum Access
    Réponses: 6
    Dernier message: 28/06/2014, 00h51
  3. Empêcher la fermeture d'une application
    Par ChPr dans le forum Android
    Réponses: 8
    Dernier message: 26/05/2013, 23h46
  4. [C#] Icône, barre des tâches et Service Windows
    Par SErhio dans le forum Windows Forms
    Réponses: 17
    Dernier message: 03/09/2004, 13h56
  5. HAUTEUR de la barre des tâches de Windows ?
    Par Lung dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 13/12/2002, 12h43

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