begin process at 2012 05 29 22:49:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Lancer un .bat dans un process ??


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lancer un .bat dans un process ??

lundi 7 novembre 2005 à 20:30:36 | Lancer un .bat dans un process ??

chuckboy

Bonjour

J'essait de lancer un .bat dans un process et je n'y arrive pas avec la fonction CreateProcess.

Quelqu'un pour m'aider svp ?

Voici ce que je tente de lancer (contenu de la string sExec)
%ANT_HOME%\bin\ant.bat -propertyfile %BUILD_HOME%\properties\properties.txt -Dbasedir="%BUILD_HOME%/
work/cmdLine_SGL" -Dbuild.compiler="msdev" -Dbuild.sgl.config="win32 release" -Dst.sgl.view="sgl 1.1
3 prvtest" -Dst.sgl.label="SGL13" -Dbuild.sgl.output.dir=c:\att_temp\TESTUNIT1\Build1 -f %BUILD_HOME
%\scripts\sgl.xml build

CreateProcess(NULL, (LPTSTR)sExec.c_str(), NULL, NULL, TRUE, 0,NULL,NULL, &_SI, &_PI);

mardi 8 novembre 2005 à 00:50:36 | Re : Lancer un .bat dans un process ??

meech

Membre Club
Salut, Essaie avec un truc du genre : CreateProcess("cmd.exe", "/start ant.bat", etc. En fait, les fichiers *.bat ne sont pas tout à fait gérés comme les autres : ils ont besoin de l'intepréteur de commandes MS-DOS pour pouvoir s'exécuter. A titre informatif, je n'ai pas vérifier mais, d'après mes souvenirs (j'ai été confronté à ce problème il y a quelques temps), la solution est de cet ordre-là... En espérant t'avoir un peu aidé, A plus tard.
mardi 8 novembre 2005 à 15:01:47 | Re : Lancer un .bat dans un process ??

chuckboy

Je n'y arrive toujours pas. La solution apporter par meech ne fonctionne vraiment pas. Quelqu'un a une autre idée ou des précision à apporter ?
mardi 8 novembre 2005 à 15:27:58 | Re : Lancer un .bat dans un process ??

meech

Membre Club
Réponse acceptée !
Bonjour,

Voilà, j'ai fait des tests.

D'une part, avec un simple fichier nommé test.bat :
@echo off
echo canard
pause


D'autre part, avec un fichier *.c (aisément adaptable en C++) :
#include <windows.h>
#include <stdio.h>

int main(int argc, char** argv)
{
    STARTUPINFO         siStartupInfo;
    PROCESS_INFORMATION piProcessInfo;
   
    memset(&siStartupInfo, 0, sizeof(siStartupInfo));
    memset(&piProcessInfo, 0, sizeof(piProcessInfo));
    siStartupInfo.cb = sizeof(siStartupInfo);
    if (CreateProcess(NULL,"cmd.exe /c d:\\test.bat",NULL,NULL,TRUE,CREATE_NEW_CONSOLE,NULL,0,&siStartupInfo,&piProcessInfo) == FALSE)
    {
        fprintf(stderr, "Echec d'execution du processus.\n");
        return(128);
    }
    return(0);
}


A priori, cela fonctionne.
Espérant t'avoir aidé un peu plus...

Ciao.

mardi 8 novembre 2005 à 15:50:56 | Re : Lancer un .bat dans un process ??

chuckboy

Merci c'est exactement ce qui me manquait
cmd.exe /c d:\\test.bat

Merci du coup de main

Au fait , mon script me sort un code d'erreur. Pour l'obtenir dans le command line je dois faire un echo %ERRORLEVEL% , t'as une idée comment récuperer ca dans mon c ?

thks!
mardi 8 novembre 2005 à 17:54:11 | Re : Lancer un .bat dans un process ??

meech

Membre Club
Re,

Je ne sais pas trop si cela va fonctionner, mais ERRORLEVEL est une variable d'environnement. En ANSI C, un simple char* spErrorLevel = getenv("ERRORLEVEL") devrait retourner quelque chose (si spErrorLevel == NULL, alors la variable d'environnement n'existe pas).

Mais je crains que ce soit l'exécution du Java qui retourne ce code d'erreur et non le fichier de commande DOS...

A plus.



Cette discussion est classée dans : lancer, process, bat, home, sgl


Répondre à ce message

Sujets en rapport avec ce message

Lancer un autre fichier à partir d'un prog en C++ [ par trinitacs ] J'aimerai lancer un .bat à partir de mon prog en C++. Coment dois-je faire?Est-ce que le .bat peut s'éxécuetr de manière différentes suivant la manièr ouvrire un process dans une fenêtre C [ par metos ] bonjour, J'aimerais lancer un programme (.exe)  dans une fenêtre de mon programme C ou C# voir un autre language de programmation. Je veux pas juste l lancer un .bat a partir d'un .exe (c/c++) [ par famasquad ] Salut tout le monde!Voila je voulais seulement savoir si il était possible de lancer un .bat a partir d'un .exe programmé en c ou en c++.Si oui, est c extraire le chemin du répertoire parent d'un répertoire [ par chandler8692 ] Bonjour. J'ai besoin de faire quelque chose et je ne sais pas comment. Je dispose de l'adresse d'un répertoire : "/home/mon_nom/a/b"Et je souhaite en Agir sur plusieurs API avec un executable en C [ par Psykopatkiller ] Bonjour ,N'ayant qu'un faible niveau en matière de devellopement, je me demandai si il était possible de lancer 3 applications (sous Win Xp) et d'agir comment lancer et fermer une application? [ par jetix ] Salut,c'est un programme fait en visual c++6.0, considérons un boite de dialogue contenant 2 boutons:l'un sert pour lancer l'apllication par exemple w fichiers dans .exe [ par didoux95 ] Bonjour a tous.Je debut en C/C++ (je programme en JAVA).J'aurais aimé savoir comment est ce que je peu faire pour inserer un fichier dans mon exe et p Hook Low Level n'appel pas DllMain [ par HeavenForsaker ] <![CDATA[ PRE.cl Comment faire pour lancer un fichier ou une application [ par tayourt ] Bonjour, 'est un problème tout bête.. Je suis certain qu'on a déjà répondu à cette question, mais bizarrement, je cherche et je ne trouve pas.. Je tra Lancer un programme [ par badrbadr ] Salut,Je voudrais executer un programme (Notepad.exe ou calc.exe par exemple) à partir de mon programme C/Win32. Je voudrais aussi que la fonction qui


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales