j'aimerai avec le fonction system(), lancer une application dans le repertoire que je veut (cette seconde appli doit etre lancer dans un certain repertoire pour quel puisse s'executé normalement...)
merci
j'aimerai avec le fonction system(), lancer une application dans le repertoire que je veut (cette seconde appli doit etre lancer dans un certain repertoire pour quel puisse s'executé normalement...)
merci
Tu peux essayer avec shellExecute :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp
Thomas
merci.
le probleme est que j'ai besoin d'attendre que cette appliquation est fini avant de continuer...
or shelexecute lance l'appli par un thread.
Non, elle le lance comme nouveau process. Voir la FAQ VC++:
http://c.developpez.com/faq/vc/?page...cessWaitingEnd
note: c'est spécifique Windows.
ok. merci.
et avec system() (a ce que j'ai lu est protable) y as pas un moyen?
je vais essayer.
ps : un thread et processus , c'est pas la meme chose??? c'est juste que pour l'un la memoire et partagé et pour l'autre non???
Non, un thread et un processus ont un peu plus de différences.
Surtout sous Unixoïde, où les threads ne sont pas gérés en natif (c'est une librairie qui les gère)
Sous Windows, tout processus contient au moins un thread. Un processus est un ensemble de thread dont toutes les ressources (sauf la pile) sont partagées. Et par ressource, je veux dire tout: mémoire, fichiers ouverts, etc. (Sauf le temps processeur, qui est partagé entre les threads sous Windows, et non pas entre les processus).
Sous Windows, une petite subtilité mise à part, un processus se termine quand tous ses threads se sont terminés.
Donc, on peut attendre la fin d'un processus, ou seulement de celle d'un de ses threads.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
La grosse différence c'est que 2 processus ont chacun leur propre espace d'adressage privé, alors que 2 thread du même processus "vivent ensembles", et l'un peu écraser les données de l'autre.
Pour system, la fonction en elle même est portable, mais ce qu'elle fait est propre à chaque os, car elle transmet ce que tu lui donne à l'interpréteur de commandes du système. Par exemple system( "dir" ) va compiler partout, mais ne va fonctionner que sous DOS/Windows.
merci.
pour windows, qu'es que je pourrai mettre dans system pour faire ce que je veut??
j'essai mais j'ai pas trouvé....
je pense que c'est possible mais je ne sais pas comment
Pourquoi n'essaies-tu pas simplement de choisir le répertoire courant AVANT l'appel à system() ? Normalement, ça devrait s'éxécuter dans ce répertoire-là...
regarde du coté des fonctions comme chdir() (ou _chdir() sous Windows)...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
cool.
merci je vais essayer.
je conais pas ces fonction.
chdir marche pas trop mal merci. je verai plus tard pour une autre solution
Partager