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 :

appeler des programmes


Sujet :

Windows

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Points : 76
    Points
    76
    Par défaut appeler des programmes
    Bonsoir bonsoir !

    J'ai besoin d'un programme en C, permettant de lancer un programme .exe, puis de le fermer...

    j'imagine que étant donné que tout est possible en C...

    auriez vous du code à me proposer, ou alors des tuyaux pour réaliser ce petit programme

    merci par avance et bonne nuit ^^
    Juan

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    la fonction system()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i = system("programme.exe");
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Points : 76
    Points
    76
    Par défaut
    ok !

    et me sera t il possible de faire en sorte que l'ouverture du programme truc.exe se fasse "en tâche" de fond, c'est à dire san faire apparaitre son interface graphique?

    je suis sous windows... ^^
    Juan

  4. #4
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Tu as besoin de le fermer à partir de ton programme ou bien tu compte sur le fait qu'il se ferme de lui même ?

    Si en plus tu as besoin de garder de l'activité pendant que ton programme lancé tourne, une solution à base de fork/execv sera un peu plus recommandée à mon avis.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Points : 76
    Points
    76
    Par défaut
    ok valefor !
    pouvez vous m'écrire ce petit morceau de code svp ?

    je veux que le programme truc.exe se lance, puis que IE s'ouvre avec une url particulière, puis une fois la page chargée, que IE et truc.exe se ferme...

    c'est possible ?
    Juan

  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 : 46
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par valefor
    Si en plus tu as besoin de garder de l'activité pendant que ton programme lancé tourne, une solution à base de fork/execv sera un peu plus recommandée à mon avis.
    Il me semble que fork et les fonctions exec* c'est sur Linux or là il est sur Windows
    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
    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 : 46
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par chti_juanito
    pouvez vous m'écrire ce petit morceau de code svp ?
    Nous n'écrivons pas de code, nous donnons des conseils, te mettons sur la voie, à toi de travailler et de poster ton code que nous nous ferons une joie de corriger. Toi il va surement falloir, au vu de ce que tu souhaite faire, regarder du côté des fonctions de l'API Win32

    Pour lancer un programme, tu peux voir pour la fonction ShellExecute
    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 !

  8. #8
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Aï, mince ! Je croyais que c'était des fonctions disponibles partout. Bon ben tant pis.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Points : 76
    Points
    76
    Par défaut
    bon voilà un début :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        system("C:\\truc.exe");
        
        system("C:\\Program Files\\Internet Explorer\\iexpore.exe");
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    alors ma première question est de savoir comment passer une url en argument pour IE... j'ai essayé mais apparemment system() n'aime pas qu'on lui passe 2 arg.

    EDIT : et je ne sais pas comment les fermer aussi ces prog...
    Juan

  10. #10
    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 : 46
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Attention, ce que tu fait là n'est pas du C mais du C++:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
    Comme dit, je pense que ShellExecute serait sans doute plus approprié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 !

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par Franck.H
    Attention, ce que tu fait là n'est pas du C mais du C++:

    Comme dit, je pense que ShellExecute serait sans doute plus appropriée !

    oui je me suis finalement rabattu sur du C++.

    je vais chercher avec ShellExecute
    Juan

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Points : 76
    Points
    76
    Par défaut
    en gros mon problème est d'ouvrir IE sur une page particulière...

    EDIT : ok j'arrive à ouvrir une url dans IE mais maintenant il me faut fermer IE après chargement de la page.
    Juan

Discussions similaires

  1. Appel des programmes depuis l'hôte
    Par constant_op dans le forum VirtualBox
    Réponses: 10
    Dernier message: 13/02/2013, 12h17
  2. Réponses: 7
    Dernier message: 18/10/2010, 16h49
  3. Probleme dans l'appel des programmes systeme
    Par khalid_kha dans le forum Langage
    Réponses: 1
    Dernier message: 14/08/2008, 18h44
  4. Réponses: 6
    Dernier message: 22/02/2008, 12h04
  5. Réponses: 5
    Dernier message: 16/01/2007, 11h07

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