-
La commande systeme
Bonjour,
Dans mon programme j'ai besoin de faire executer un petit logiciel pour traiter mes info.
Pour cela j'utilise la commande system pour faire l'appel.
Mais le prob, c'est que lors de l'execution, je vois juste une fenetre dos s'ouvrir et se refermer aussi tot.
Pourquoi ?
-
La fenêtre DOS se ferme si ton programme s'est terminé.
-
la commande system est à bannir, utilise ShellExecute plutot
-
Ok, je vais essayer, mais comment s'utilise t'elle ?
Merci
-
Voir MSDN
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
-
si je met en premier parametre handle, comme c'est ecrit dans la msdn ou adns d'autre exemple que je viens de trouver sur le net, j'ai une erreur: Identificateur non declaré !!!
Pourquoi donc ?
merci pour ton aide
-
le premier parametre est un "Handle to a parent window", c'est à dire que tu dois lui donner comme parametre le handle de la fenetre parente , s'il n'y en a pas, donne lui comme parametre NULL, et ca devrait aller
-
c'est exactement ce que je viens de faire et ca compile sns prob. Par contre ca ne fait aps ce que je veux.
voila mon code, qu'est ce qui ne vas pas, sachant que mon but et de lancer le programme :
Code:
ShellExecute(NULL,"open","D:\Stage_seb\wgnuplot\gnuplot\wgnuplot.exe",NULL, NULL, SW_SHOWNORMAL);
PS: j'ai mis open entre "" car avec '' ca compilait pas
-
il faut que ca soit entre "", puisque c'est une chaine de caractere, sauf qu'elle est mal construite ta chaine, il faut doubler les \\
"D:\\Stage_seb\\wgnuplot\\gnuplot\\wgnuplot.exe"
-
C'est pour indiquer que c'est des caracteres speciaux ?
-
(Tu l'aurais su en testant le retour de la fonction (ERROR_FILE_NOT_FOUND))
-
effectivement, le \ te permet d'indiquer un caractere spécial
\n le fin de ligne \0 le fin de phrase, etc ... et \\ le "\" lui meme