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 :

Programme invisible en tâche de fond


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 19
    Points
    19
    Par défaut Programme invisible en tâche de fond
    Bonjour,
    Sous Windows XP PRO avec Delphi 6 j'ai dévelloppé une application qui lit constament un port série et qui traite les chaines recues dans des fichiers excel.
    Je voudrais rendre cette application invisible à l'écran et dans la barre de tache.
    J'ai essayé les réponse de la FAQ mais j'ai toujours mon application visible dans la barre de tache.
    Comment puis je faire s'il vous plait.
    Merci

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Points : 20
    Points
    20
    Par défaut
    bon ,cette réponse marche sous delphi 7
    tu fais projet ->afficher source ->et tu ajoutes ce code avant la ligne:
    "Application.Run;" => ton code va ressembler à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.ShowMainForm:=false; // Ligne à ajouter
      Application.Run;
     end.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    J'imagine que ton application sera éventuellement
    démarré via une clef de registre ou un raccourci dans le groupe startup.

    J'aime bien ajouter un paramètre sur la ligne de commande
    de l'application qui est lancer automatiquement par windows.

    Comme ça, je peux mieux déterminer si le programme est lancé
    par windows, ou bien simplement par un usager et par le fait
    même... si je dois me cacher ou rien faire de spécial.

    Si c'est le genre de chose que tu désire éffectuer,
    le code de A.SISSA devient ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      //Recherche le parametre /hide sur la ligne
      //de commande pour voir si on doit ce cacher.
      //On doit Ajouter Sysutils dans les uses
      if ParamCount >= 1 then
      begin
        if strpos(CmdLine,'/hide') <> nil then
                application.ShowMainForm:=FALSE;
      end;
    Donc, si le programme est démarré par un utilisateur, la ligne de commande
    "/hide" ne sera pas présente et l'application s'affiche normalement.

    Par la suite, dans le cas d'un démarrage non caché,
    si on veut cacher l'application on peut en profiter pour
    effectuer le Hide l'application lorsque la fenêtre principale est minimisée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //==============================================================================
    //== Cache l'application sur l'évènement minimise de la form Principale
    //==============================================================================
    procedure TForm1.Minimise(Sender: TObject);
    begin
        application.MainForm.Hide;
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
        application.OnMinimize:=Minimise;
    end;
    Pour ce genre d'application, il serait bien d'ajouter un icon dans le system tray.
    un p'tit tour dans la faq ici

    bref, l'idée est de cacher toutes les fenêtres de l'application pour que celle-ci disparaissent de la barre des tâches de windows.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 48
    Points : 30
    Points
    30
    Par défaut Service
    Bonjour,
    Je pense que vu ton cahier de charge il serait plus judicieux de developper ton appli sous forme de Service ... voir donc plutôt du coté Nouveau->Service
    Je pense que ça pourrait valloir le coup
    Cordialement

Discussions similaires

  1. Programme en tâche de fond
    Par Bloorp dans le forum C++
    Réponses: 15
    Dernier message: 08/04/2011, 15h34
  2. Lancer un programme en tâche de fond sous Windows
    Par FabaCoeur dans le forum Windows
    Réponses: 5
    Dernier message: 15/10/2009, 17h11
  3. exécuter un programme en Tâche de fond
    Par glasgow dans le forum Langage
    Réponses: 4
    Dernier message: 30/04/2009, 15h21
  4. Réponses: 5
    Dernier message: 05/02/2009, 13h01

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