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 :

.bat qui ferme un exe


Sujet :

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 .bat qui ferme un exe
    Bonjour a tous,

    j'ai fait un programme (mon_prog1.exe) qui lance un fichier .bat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("C:\\mon_fichier.bat");
    dans lequel il y a la ligne suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    start /min C:\mon_prog2.EXE
    mais lors de l'execution du .bat, mon_prog2 se lance correctement mais mon_prog1 se ferme automatiquement

    Quelqu'un saurait-il d'ou cela peut provenir

    merci d'avance pour votre aide

    ++

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 62
    Par défaut
    tu as essayé de faire un fork () et de lancer ton .bat dans le processus fils

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    je ne sais pas comment utiliser fork()

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 62
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    pid_t   pid;
        pid = fork ();
        if (pid > 0) {
             /* Processus père      */
        } else if (pid == 0) {
             /* Processus fils      */
        } else {
             /* Traitement d'erreur */
    tu peux aussi utiliser un switch mais bon c'est pour la forme

  5. #5
    Membre chevronné Avatar de straasha
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2004
    Messages : 149
    Par défaut
    s'il parle de .bat c'est qu'il est sous win et il me semble que fork ne marche que sous UNIX (posix)

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 62
    Par défaut
    tu as tout a fait raison désolé y a une fonction CreateProcess sous win32 faut regarder la definition ca doit pas trop s'eloigner de fork()

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 62
    Par défaut
    faut tester un truc comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CreateProcess( "c:\\MyApp.exe Param1 Param2", NULL, ... )
    je ne connais pas les arguments qui suivent

  8. #8
    Membre chevronné Avatar de straasha
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2004
    Messages : 149
    Par défaut
    si mon_prog1.exe se ferme c'est peut etre qu'il n'a rien d'autre a faire...
    t'as essayer de mettre une boucle infini apres l'appel a system() juste pour voir s'il se ferme toujours ?

  9. #9
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    justement c'est une boucle infinie while(1)

    avec un sleep de 30sec a la fin avant de reboucler

  10. #10
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    As-tu essayé de récupérer la valeur de retour de l'appel à system() ?

  11. #11
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Un petit perror après system peut-etre.

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/05/2014, 19h06
  2. Réponses: 11
    Dernier message: 13/12/2007, 15h34
  3. Fenetre qui ferme l'application
    Par pitistef dans le forum MFC
    Réponses: 3
    Dernier message: 04/09/2005, 20h00
  4. Procedure stockée qui ne s'exe pas complètement
    Par Oluha dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/01/2005, 15h38
  5. Ferme explorer.exe
    Par cmhicham dans le forum C++Builder
    Réponses: 7
    Dernier message: 15/07/2003, 15h53

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