armetiz
Messages postés25Date d'inscriptionlundi 8 août 2005StatutMembreDernière intervention 6 juin 2007
-
2 nov. 2005 à 14:54
ordromike
Messages postés6Date d'inscriptionjeudi 27 janvier 2005StatutMembreDernière intervention 5 mars 2010
-
5 mars 2010 à 11:03
Coucou, voila, suite aux réponses que j'ai obtenues sur le forum (grand merci), je suis tomber sur un petit pb..
J'ai trois lignes de Shell à taper, pour obtenir un truc du genre :
Date
Heure
List.. (dir)
Obtenu avec :
date > test.txt
time >> test.txt
dir c:/ >> test.txt
J'ai donc, fait les trois shellexecute a la suite, mais le pb, c'est qu'il se lance chaqu'un dans une fenetre differente..et, si le dernier se fait avant le premier, ca pose probleme.. car, le premier, efface le contenu precedent du fichier texte..
J'aurai voulu savoir s'il existait un parametre inconnu dans shellexecute, pour lancer dans le meme processus ? ou alors, attendre que la commande se termine pour lancer l'autre..
J'ai regader avec LanchAndWait, une fonction fait maison qui est un peu partout sur le forum, mais.. j'ai du mal a la comprendre malgré tout, et, je doute pouvoir faire se que je fais actuellement avec.
Voila, et encore merci !
CreateProcess(nil, pchar(commande), nil, nil, False, CREATE_DEFAULT_ERROR_MODE, nil, ('c:'), si, pi);
WaitForSingleObject(Pi.hProcess,INFINITE); //Infinite peut être remplacé par une valeur en ms qui indique le timeout
end;
armetiz
Messages postés25Date d'inscriptionlundi 8 août 2005StatutMembreDernière intervention 6 juin 2007 2 nov. 2005 à 15:42
j'ai trouver un truc. mais, j'arrive pas a le faire fonctionner.
Utilisation de plusieurs commandes
Dans la chaîne, vous pouvez utiliser plusieurs commandes séparées par le séparateur && à condition de les placer entre guillemets
(par exemple, "commande&&commande&&commande").
mais.. je dois mal l'utiliser...
"dir c:/&&dir d:/"
comme dir n'est pas une commande interne je ne sais quoi.. ah marche pô :s
voila.. c'est con, j'vais retourner avec un vieux fichier bat placer dans le meme repertoire que mon appli...
bv94
Messages postés40Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention16 décembre 20061 2 nov. 2005 à 19:06
Utilise la commande CreateProcess, elle te permet de recupere le handle de l'executable que tu lances, puis d'attendre avec la commande waitForSingleProcess que le processus soit terminé...
armetiz
Messages postés25Date d'inscriptionlundi 8 août 2005StatutMembreDernière intervention 6 juin 2007 2 nov. 2005 à 19:24
j'vais continuer mes recherches alors.. car j'ai pas trouver d'info sur createprocess, j'avais deja chercher (j'lavais vu quelque part..) mais pas trouver de syntaxe (ou alors, que je comprennais lol).
Thx
Vous n’avez pas trouvé la réponse que vous recherchez ?
ordromike
Messages postés6Date d'inscriptionjeudi 27 janvier 2005StatutMembreDernière intervention 5 mars 2010 5 mars 2010 à 11:03
Bonjour,
J'ai le même problème:
J'ai besoin de lancer plusieurs commandes shell mais chaque résultat d'une commande change les autres commandes.
Exemple, je fais un dir d'un répertoire, s'il y a des fichiers je fais un del et s'il y a rien, je fais un dir sur un autre répertoire.
Donc je peux pas lancer mes commandes à la suite les unes des autres.
Avec la fonction CreateProcess, je lance plusieurs cmd.exe et moi je voudrait avoir un seul cmd.exe et lui envoyer les commandes les une après les autres.