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 :

[WIN32][D7] Application invisible


Sujet :

Delphi

  1. #1
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Points : 36
    Points
    36
    Par défaut [WIN32][D7] Application invisible
    Salut,
    Je voudrais faire une application qui ne s'affiche pas dans la barre des tâches, mais plutôt avec un icône dans le systray (là où y a l'heure dans la barre des tâches ). Quelqu'un a-t-il une idée ?

  2. #2
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    un petit tour dans la

    plus précisément ici pourrait t'aider je pense
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  3. #3
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Points : 36
    Points
    36
    Par défaut
    J'ai déjà regarder la FAQ
    Mettre un icon dans le systray c'est la partie facile.
    Le problème c'est d'avoir une appli invisible dans la barre des tâches et qui le reste (invisible ), même si on a des forms filles.

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut,

    Si ton appli ne possède pas de bouton 'Réduire' et 'Agrandir' et qu'elle ne s'affiche pas maximisée, tu peux ajouter ceci dans le OnCreate de la form principale:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
    @+

  5. #5
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Points : 36
    Points
    36
    Par défaut
    Pour clarifier mes propos voici mon code :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Unit2;
     
    type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
        procedure FormShow(Sender: TObject);
      private
        FormFille: TForm2;
        procedure AppMinimize(Sender: TObject);
     
      public
     
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.AppMinimize(Sender: TObject);
    begin
      Visible := False;
      FormFille.Show;
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Application.OnMinimize := AppMinimize;
      FormFille := TForm2.Create(Self);
      FormFille.Hide;
    end;
     
    procedure TForm1.FormShow(Sender: TObject);
    begin
      ShowWindow(Application.Handle,SW_HIDE);
      SetWindowLong(application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
      ShowWindow(application.Handle, SW_SHOW);
    end;
     
    end.
    Si on enlève le ça fonctionne bien (trop bien même ) : quand on réduit la form elle est complètement invisible (ni barre des tâches, ni petit bout de fenêtre reduite sur le bureau, du coup on y a plus accès ), mais si on veut afficher la form fille paf ma form principale apparaît en tout petit sur le bureau.

    Evidemment, j'ai pas encore mis l'icone dans le systray.
    Avant de me lancer dans des grands projets je voudrais savoir si c'est possible de faire ce que je veux faire.

  6. #6
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Points : 36
    Points
    36
    Par défaut
    Oups, j'ai oublié : il faut bien sûr ajouter au projet une fiche TForm2 dans l'unité Unit2

  7. #7
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Yop !
    quand on réduit la form elle est complètement invisible
    Euh, pas chez moi (bête copier/coller du code posté + assignation des évènements) : ça me colle une petite barre de titre juste au dessus du bouton Démarrer (w2K sp4, D7 pe).
    Je crois que tu devrais t'engrainer avec cette histoire de "petite icône" d'abord, et on verra l'histoire de la formfille après.

    Mes 2 cts,
    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  8. #8
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Jipété
    Euh, pas chez moi (bête copier/coller du code posté + assignation des évènements) : ça me colle une petite barre de titre juste au dessus du bouton Démarrer (w2K sp4, D7 pe).
    jp
    As tu enlevé le "FormFille.Show;" dans AppMinimize ?

  9. #9
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    As tu enlevé le "FormFille.Show;" dans AppMinimize ?
    Non, j'avais zappé ce point,
    Effectivement, en l'enlevant y a plus rien... et donc t'es mal !
    et comme je le disais, je crois que tu devrais t'engrainer avec cette histoire de "petite icône" d'abord.
    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

Discussions similaires

  1. [LV2009] rendre l'application invisible
    Par Super2006 dans le forum LabVIEW
    Réponses: 1
    Dernier message: 11/10/2010, 12h05
  2. ShellExecute et application invisible?
    Par Aloneghost dans le forum Langage
    Réponses: 7
    Dernier message: 21/03/2009, 00h06
  3. fenêtres des applications invisibles
    Par lelutin dans le forum Windows Vista
    Réponses: 2
    Dernier message: 29/11/2007, 19h28
  4. Réponses: 2
    Dernier message: 09/05/2007, 14h30
  5. Application invisible et qui écoute le clavier
    Par Belegkarnil dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 12/02/2006, 20h30

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