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

Windows Discussion :

Application en ligne de commande & Systray


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 19
    Par défaut Application en ligne de commande & Systray
    Bonjour, j'espère que quelques personnes pourront m'aider à résoudre mon problème. J'ai développé une programme en C qui fonctionne dans une fenêtre DOS. Ce dernier tourne en continu dans l'attente de requête.

    Pour la suite de mon développement, on m'a demandé à ce que la fenêtre DOS soit caché mais reste malgré tout accessible à partir d'une icone qui serait dans la barre des tache (systray près de l'horloge).

    Mes connaissances étant assez limité en programmation à partir d'API de windows, je n'ai pu que chercher des exemples et essayer de les adapter sans obtenir de résultats bien concret.

    Je souhaiterais donc savoir si une personne pourrait me fournir un exemple de code permettant d'appeler mon programme au démarrage et ensuite de cacher / montrer la fenêtre DOS.
    A défaut d'exemple si vous avez un tutorial ou tout autre guide pouvant m'aider, je vous en serait reconnaissant.

    Merci.
    Au revoir.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Pour faire une icône dans le systray avec l'API Windows, il faut une fenêtre (visible ou non)...

    Et utiliser la fonction Shell_NotifyIcon().
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 19
    Par défaut
    Merci pour cette réponse mais je n'arrive à rien de concret.
    Quelqu'un aurait-il un exemple simple a utiliser. Il suffirait juste d'afficher / cacher une console DOS en cliquant sur une icone dans la barre des taches.

    Les seules choses que j'ai réussi à faire pour l'instant, c'est de ne pas afficher la console du tout (peu pratique car on ne sait pas si elle est lancé de manière simple).

    Aidez moi s'il vous plait .

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Pour commencer, as-tu créé une fenêtre (visible ou invisible) pour pouvoir y associer une icône dans la barre des tâches ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 19
    Par défaut
    J'ai une fenêtre DOS qui effectue des taches.
    C'est un agent qui attend qu'on lui envoie des requêtes et donc ne fait rien de spécial tant qu'il ne reçoit aucune message.

    En parallèle, j'ai trouvé ceci :
    trayicon

    Ce code est vraiment bien et j'arrive à le compiler.
    Ce qu'il faudrait c'est que je réussisse à appeler mon main() que je renommerais principal() par exemple pour ne pas avoir de problème. Je vais essayer de déclarer le prototype et appeler la fonction à divers endroit pour voir ce que cela donne.

  6. #6
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 19
    Par défaut
    J'ai réussis à adapter mon code pour faire ce que je souhaitais (mettre mon programme en icone dans le systray).

    Hélas, il y a de très grande différence entre l'affichage d'information dans une console DOS et l'affichage dans une fenêtre Win32.

    J'ai lu de nombreux tuto mais aucun ne présente de manière concrète comme faire de l'affichage de message (quelles fonctions appeler, ou les appeler ...).

    Est ce que quelqu'un aurait une solution de rechange pour remplacer des printf() par des TextOut() ? Je n'arrive qu'à afficher un mot (et encore) ... A la base mon programme recevait une instruction, réalisait certaine tâches et affichait un message du style :

    printf (" Etat d'eConf : \n");
    printf (" ============== \n");
    printf (" -- ETAT \n");

    Bref un affichage qui s'adaptait bien au mode console avec du texte qui défilait. Comment avoir un affichage de mes messages avec un application Win32 ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/12/2009, 13h31
  2. Réponses: 3
    Dernier message: 27/11/2007, 22h05
  3. Réponses: 2
    Dernier message: 21/05/2006, 09h30
  4. [C#] Application avec lignes de commande
    Par Oberown dans le forum Windows Forms
    Réponses: 1
    Dernier message: 13/10/2005, 17h26

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