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

Delphi Discussion :

Ne pas afficher le nom de l'EXE dans la barre de tâche


Sujet :

Delphi

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Points : 619
    Points
    619
    Par défaut Ne pas afficher le nom de l'EXE dans la barre de tâche
    J'ai récupéré dans un autre sujet du forum le code suivant qui permet de lancer la calculette de Windows dans un panel.
    Ce code fonctionne parfaitement et, au niveau de la barre de tâche je ne vois QUE mon application, pas la calculette.

    En revanche si je remplace Calc.exe par un exécutable Delphi je vois ce second exécutable dans la barre de tâhe
    Quel moyen permet de neutraliser cet affichage ?

    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
    28
    procedure TForm1.Button4Click(Sender: TObject); 
    const 
      TimeOut = 10000; // 10 secondes 
    var 
      h: THandle; 
      t: DWORD; 
    begin 
      // On lance la calculatrice 
      ShellExecute(self.Handle, 'Open', 'calc.exe', nil, nil, SW_SHOWNORMAL); 
     
      // On attend un peu jusqu'à ce que la fenêtre de la calculatrice soit visible 
      h:= 0; 
      t:= GetTickCount; 
      while (h = 0) and (GetTickCount - t < TimeOut) do 
      begin 
        h:= FindWindow(nil, 'Calculatrice'); 
        Application.ProcessMessages; 
      end; 
     
      if h <> 0 then 
      begin 
        // On change la taille de la fenêtre 
        SetWindowPos(h, 0, 0, 0, 320, 200, 0); 
     
        // On change le parent de la fenêtre par notre panel (par exemple) 
        Windows.SetParent(h, panel1.Handle); 
      end; 
    end;

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Points : 619
    Points
    619
    Par défaut
    J'ai trouvé !

    Il faut ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
    dans l'évènement Create de la première fenêtre de l'application

    Inutile de me faire des réflexions sur la nécessité d'effectuer une recherche avant de poster un sujet je mes les suis déjà faites.

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Janvier 2003
    Messages : 110
    Points : 109
    Points
    109
    Par défaut
    Sinon tu peux utiliser les composants :
    TkbTrayIcon
    et ensuite tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      kbTryIcnServeur.ShowApplication := False;

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/06/2015, 22h02
  2. Nom groupe de fenêtres dans la barre des tâches
    Par MortDansLAme dans le forum Général Java
    Réponses: 1
    Dernier message: 23/09/2011, 15h26
  3. Ne pas avoir le nom d'une servlet dans la barre d'adresse
    Par lawamic dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 24/09/2009, 17h38
  4. [MySQL] Je n'arrive pas à afficher le nom de mes tables dans une liste déroulante
    Par beegees dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 08/10/2008, 15h16

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