Salut, j'essaye désespérément d'appeler une application externe dans mon application.

J'essaye avec system() de cette façon :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void MainDialog::dra2xml( CString path, CString fichierDRA, CString fichierXML ){
	CString cmd("\"C:\\Program Files\\Nuance\\Dragon SDK Client Edition9\\Program\\dra2xml.exe\"");
	cmd += " -drafile=\"";
	cmd += path;
	cmd += fichierDRA;
	cmd += "\" -xmlfile=\"";
	cmd += path;
	cmd += fichierXML;
	cmd += "\" ";
 
 
	char * p = strdup(cmd);
	MessageBox( _T(p) );
	system(p);
	/*ShellExecute(      
		NULL,
		"open",
		"dra2xml.exe",
		"-drafile=\"F:/Bastien/fichier.dra\" -xmlfile=\"F:/Bastien/fichier.xml\"",
		"\"C:\\Program Files\\Nuance\\Dragon SDK Client Edition9\\Program\\\"",
		SW_SHOW
	);*/
}
Le MessageBox m'affiche la commande :

"C:\Program Files\Nuance\Dragon SDK Client Edition9\Program\dra2xml.exe" -drafile="F:/Bastien/fichier.dra" -xmlfile="F:/Bastien/fichier.xml"
Si je tape cette commande dans la console DOS, ça marche. Mais pas à partir de mon application. Je n'ai aucun message d'erreur, il ne se passe tout simplement rien.
Ma fonction est bien appelée vu que j'ai le dialog qui s'affiche.

Et si je fais un system("pause"); je le vois s'afficher.

Je ne vois pas du tout où ça coince !
Merci d'avance de votre aide !
Bastien.