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

GTK+ avec C & C++ Discussion :

cmd.exe et gtk


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut cmd.exe et gtk
    Bonjour a tous!!!!

    Petite question a tout hasard, quelqu'un saurait t'il comment envoyer des données à un cmd.exe a partir d'un programme en C.

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par gy0m76
    Bonjour a tous!!!!

    Petite question a tout hasard, quelqu'un saurait t'il comment envoyer des données à un cmd.exe a partir d'un programme en C.
    Qu'est-ce que tu entend au juste par envoyer des données à un cmd.exe ? C'est un peu flou ton histoire je trouve. Tu peux lui envoyer du texte sur la sortie standard (stdout) mais après ....
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    envoyer un texte, par exemple si je tape dans cmd.exe

    ping

    je souhaiterais que mon code lui envoit une adresse ip

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par gy0m76
    envoyer un texte, par exemple si je tape dans cmd.exe

    ping

    je souhaiterais que mon code lui envoit une adresse ip
    Oula, ca m'a l'air un peu tordu ton truc ! ping est un programme qui attend un certain type de paramètres que tu dois passez pour le lancement de celui-ci donc déjà il faudrait que ton programme scrute les saisie utilisateurs faites sur la console, etc...

    A moins d'une méthode bien barbare que je ne connais pas, je doute que ce soit faisable mais bon, attend toujours d'autres réponses, peut-être que quelqu'un possède ces moyens .. j'émet tout de même quelques doutes
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    et est ce que c'ests possible de recupérer ce qui est écrit dans ma fenetre cmd.exe et de l'afficher dans un Label???

  6. #6
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par gy0m76
    et est ce que c'ests possible de recupérer ce qui est écrit dans ma fenetre cmd.exe et de l'afficher dans un Label???
    Bin de manière portable ca m'étonnerais mais non, je ne connais pas de solution pour ca mais c'est surement pas impossible, désolé de ne pouvoir t'aider plus que ca
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 47
    Par défaut
    Essaye system(), ça passe une chaine de caracteres à l'interpréteur de commande.
    par exemple.

  8. #8
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par Chris_hks
    Essaye system(), ça passe une chaine de caracteres à l'interpréteur de commande.
    par exemple.
    Le problème là, c'est que ca exécute également le programme que tu passes à l'appel système system qui lui, attend un argument en ligne de commande donc je ne vois pas en quoi cela va servir, ca changera rien à mon avis.

    Eventuellement, tu construit une chaine contenant "ping" et également l'ip à lui passer en argument et tu appels le tout par le biais de system, là c'est plus logique.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  9. #9
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    ca marche presque, il faudrait juste que la fenetre de commande ne se ferme pas juste apres son affichage.

    Comment peut on empecher cela???

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 47
    Par défaut
    Citation Envoyé par Franck.H
    Le problème là, c'est que ca exécute également le programme que tu passes à l'appel système system qui lui, attend un argument en ligne de commande donc je ne vois pas en quoi cela va servir, ca changera rien à mon avis.
    Ouais c'est sûr, system("ping") ça sert pas à grand chose, system("ping www.developpez.net") si tu préfères.
    Citation Envoyé par gy0m76
    ca marche presque, il faudrait juste que la fenetre de commande ne se ferme pas juste apres son affichage.

    Comment peut on empecher cela???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    AllocConsole();
    system("...");
    ou alors tu fais une application console tout simplement.

  11. #11
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    [Linker error] undefined reference to `AllocConsole' ????

  12. #12
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par gy0m76
    [Linker error] undefined reference to `AllocConsole' ????
    Normal, ca existe ni dans le C ANSI/ISO et encore moins dans la bibliothèque GTK+, fallais pas essayer ca !

    En fait, si tu utilises un EDI style Code::Blocks ou Dev-cpp, tu peux trouver dans les options de ton projet (Project/Properties ... ca c'est suivant l'EDI et sa version mais c'est sensiblement pareil) une option qui te permet de déterminer le type de projet cible soit: application console, GUI Win32, etc.... Bin là tu choixi "Application console" !

    Tu recompiles le tout pis tu aura une application GTK+ avec la console d'affichée
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  13. #13
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    j'ai trouver une autre solution a mon pb, il me manque juste une petite chose, je souhaiterais ajouter une variable texte dans une autre variable texte

    par exemple j'ai sText = 192.168.51.45 et sping = ping

    je souhaiterais avoir sping = ping 192.168.51.45

  14. #14
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par gy0m76
    j'ai trouver une autre solution a mon pb, il me manque juste une petite chose, je souhaiterais ajouter une variable texte dans une autre variable texte

    par exemple j'ai sText = 192.168.51.45 et sping = ping

    je souhaiterais avoir sping = ping 192.168.51.45
    Une concaténation de chaînes tout simplement. Tu alloues dynamiquement (ou fait un tableau statique si tu veux qui permet de stocker le total de la longueur de sText et de sping + 2. Le 2 en plus c'est pour l'espace entre "ping" et l'ip qu'il doit appeler et en plus le zéro de fin de chaîne.

    Tu as au choix, soit strcat soit sprintf !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  15. #15
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    nickel ca marche, j'ai eu un peu de mal pour tourver comment s'utilisent ces commandes mais sinon ca va!!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    gchar ip[40]= "ping ";
         sText = gtk_entry_get_text(pEntry);
         gtk_label_set_text(GTK_LABEL(pLabel), sText);
         strcat(ip, sText);
         system(ip);

  16. #16
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    j'ai donc ma fenetre cmd.exe qui souvre et qui ping automatiquement l'adresse ip que je lui est transmit. Et des que le ping est finit, la fenetre se ferme automatiquement.
    Est-ce possible que la fenetre n'apparaisse pas du tout???

  17. #17
    Membre confirmé
    Profil pro
    responsable de développement
    Inscrit en
    Février 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : responsable de développement

    Informations forums :
    Inscription : Février 2006
    Messages : 26
    Par défaut
    Juste dire...

    Sous windoze dans notre code GTK, si on fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <window.h>
    #include <winbase.h>
    on peut utiliser les fonctions C de windoze, comme par exemple alert(), CreateFile(...) ou RegOpenKeyEx(...), RegEnumValue(...) pour lecture/écriture dans la base de registre...
    Ca marche bien puisque GTK utilise de toute façon des appels de bases... Comme avec le MFC on peut faire du Win32...

    Mais c'est pas portable évidement même'pas peur

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

Discussions similaires

  1. dos prompt in window cmd.exe
    Par Philippe299 dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 22/03/2006, 15h40
  2. Réponses: 6
    Dernier message: 27/12/2005, 13h48
  3. [Système]Probleme avec un chemin dans cmd.exe
    Par Sarrus dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 14/09/2005, 08h31
  4. Emulateur cmd.exe
    Par Coussati dans le forum Langage
    Réponses: 7
    Dernier message: 06/09/2005, 11h08
  5. Mon cmd.exe cherche d'abord cmd.com
    Par marcus333 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 29/08/2005, 11h27

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