cs_Daimadoshi
Messages postés45Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention23 août 2007
-
2 mai 2005 à 12:54
yserver
Messages postés203Date d'inscriptionlundi 2 août 2004StatutMembreDernière intervention 8 septembre 2006
-
4 mai 2005 à 04:18
slt tlm, voila je voudrai pendant un programme executer une commande
dos. j'ai pensé lancer ma commande avec une ligne dans ce genre mais
cela ne semble pas marcher.
avec tmsDossier qui est un string contenant ma commande "attrbi +s D:\test"
yserver
Messages postés203Date d'inscriptionlundi 2 août 2004StatutMembreDernière intervention 8 septembre 2006 2 mai 2005 à 14:32
Bonjour,
ca peut pas marcher ainsi. Dans ta chaine "attrib" est la commande a executer et "+s D:\test" est le paramettre. Soit tu utilise system("comande", soit tu reformule ShellExecute comme suit :
ShellExecute (NULL, NULL, "atrib", "parametre", NULL, NUL);
cs_Daimadoshi
Messages postés45Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention23 août 2007 2 mai 2005 à 14:44
merci a tt les 2 de vos reponse
vecchio56 : rien ne se passe dans le sens ou cette commande doit
changer quelque chose dans le dossier que je lui donne en parametre et
lorsque c'est mon programme qui l'execute bas ca ne fait rien sur le
dossier
yserver : je vais essayer les 2 solutions que tu me propose
cs_Daimadoshi
Messages postés45Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention23 août 2007 2 mai 2005 à 15:13
Alors apres test des 2 methode cela ne semble tjrs pas marcher ( je
prefere la methode shellexecute car on ne voit pas une fenetre dos
souvrir pendant 1/2 sec )
mon code ressemble a cela :
tmpDossier = "+s " + tmpDossier; //tmpDossier est un string
qui contien deja l'adresse du dossier surlequel je veux effectuer cette
commande
cs_Daimadoshi
Messages postés45Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention23 août 2007 3 mai 2005 à 18:45
merci de ta reponse LaPatoshe mais cela a deja ete proposé plus haut et j'avais dit que ca ne semblait pas marcher.
en fait si je veux executer attrib +s D:\Dossier c'est pour que ce le
dossier lise le fichier desktop.ini qui gere les personalistaion du
dossier ( icone couleur fond...) mais voila cela marche si je le fait
dans un terminal mais pas avec system ou shellexecute. j'ai verifié a
plus repise le contenu de ma string qui semble bon
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 3 mai 2005 à 18:49
Normalement les deux devraient marcher. Essaie avec un autre programme
qui ne prend pas de paramètres, et donc tu pourra savoir facilement
s'il marche ou pas.
Vérifie aussi que le répertoire depuis lequel tu exécutes la commandes n'influence pas le résultat
cs_Daimadoshi
Messages postés45Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention23 août 2007 3 mai 2005 à 19:50
erreur de retranscription de ma part je met bien des // pour le
caractere /, le prob ne vient pas de la. de toute facon ce n'est pas
moi qui rentre l'adresse du dossier mais l'utilisateur avec une boite
de dialog de navigation de fichier donc il doit pas y avoir d'erreur
sur le chemin ou comment il est ecrit ( "//" )
cs_Daimadoshi
Messages postés45Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention23 août 2007 3 mai 2005 à 21:04
je devrai plus relire ce que j'ecrit !! ouui en effet c'est bien des \\ que je met ( enfin c'est pas moi qui les met, je recupere adresse de dossier d'une boite de dialogue )
cs_Daimadoshi
Messages postés45Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention23 août 2007 3 mai 2005 à 21:37
bon alors je crois que c'est bon j'ai reussi a faire marcher ma
commande comme je le voulais. la seule chose que j'ai changé pour que
ca marche c'est que j'ai rajouté des " autour de l'adresse du dossier !