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++ Discussion :

Faire disparaître la fenêtre dos


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 93
    Par défaut Faire disparaître la fenêtre dos
    Bonjour,

    Dans mon programme en C/C++, j'utilise system() me permettant de récupérer des fichiers automatiquement sur ma raspberry via ssh.
    Bref, lorsque j'utilise system(), la fenêtre DOS apparaît puis se ferme. Le problème est que j'utilise system() plusieurs fois par seconde du coup je vois tout le temps la fenêtre DOS s'ouvrir et se fermer et ça me bloque puisque la fenêtre apparaît en premier plan, donc rend inutilisable mon PC.

    Je cherche donc à ne pas faire apparaître cette fenêtre.

    Des idées ?

    Merci beaucoup

  2. #2
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    Rien n'a voir avec le C ou le C++ , j'imagine que tu es sur Windows ?
    Cela dépend des options de compilation , un binaire exécutable Windows peut être entre autre en mode console ou GUI , si le binaire est en mode GUI , alors il n'ouvrira jamais la console , mais si il est en mode console il peut l'ouvrir si tu fais appel à elle ,bref ça se configure sur les options du compilateur de ton IDE

    Ah est ce n'est pas une fenêtre DOS , le DOS fait référence a un OS et la console Windows n'émule pas MS-DOS.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 93
    Par défaut
    Merci pour le réponse.
    Je suis bien sous Windows. Mon IDE est c++builder 4.
    Je vais approfondir mes recherches du côté des options même si pour le moment, je n'ai pas trouvé.
    Pour moi, ça peut avoir un rapport avec le C/C++ si je peux trouver autre chose que system() me permettant de faire la même chose sans les fenêtres qui s'ouvrent. Ou une fonction bloquant l'affichage.

    Et oui, pas dos mais l'invité de commande. La journée a été longue, désolé

  4. #4
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    si je peux trouver autre chose que system() me permettant de faire la même chose sans les fenêtres qui s'ouvrent.
    Regarde du coté de l'API Windows

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 503
    Par défaut
    La primitive "system", c'est le pire des choix sous Windows, c'est une passoire de sécurité.

    Mais l'histoire de la console n'a rien à voir avec la méthode de lancement.

    Si les programmes que vous lancez ont besoin d'une console, donnez-leur une console.

    Si c'est vous qui avez créé les programmes que vous lancez et qu'ils n'ont pas besoin d'une console, recompilez les en programme "system/windows" et pas en "system/console".

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Mai 2016
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 313
    Par défaut
    Sous Windows, on peut utiliser "CreateProcess" pour lancer une commande externe, et il y a bien une option pour masquer la fenêtre (ça doit être dans STARTUPINFO).
    Prévoir éventuellement une forme de synchronisation, pour attendre que le résultat soit disponible, l'appel n'est pas bloquant.
    https://docs.microsoft.com/en-us/win...createprocessa

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

Discussions similaires

  1. Faire disparaître une fenêtre
    Par slack457 dans le forum GTK+
    Réponses: 1
    Dernier message: 27/05/2015, 10h00
  2. Réponses: 2
    Dernier message: 13/12/2004, 15h16
  3. Réponses: 2
    Dernier message: 02/12/2004, 08h33
  4. [Plugin / Graphique] Faire apparaitre une fenêtre?
    Par relivio dans le forum Eclipse Platform
    Réponses: 7
    Dernier message: 31/03/2004, 19h10
  5. Modifier la taille de la fenêtre DOS
    Par bobgeldof7 dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 31/01/2004, 03h10

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