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.
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)...
cool.
merci je vais essayer.
je conais pas ces fonction.
chdir marche pas trop mal merci. je verai plus tard pour une autre solution
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager