Bonjour à tous,
j'ai un petit souci dans mon code C++ (sous Code::Blocks/Windows 7) où je cherche à exécuter un fichier au format (.dgibi).
Normalement, quand je veux l'exécuter, je double clic sur le fichier et il se lance par l'intermédiaire d'un (.bat) qui exécute les différents calculs programmés dans le fichier (.dgibi) en ouvrant une console.
J'ai essayé de programmer l'exécution dans mon code C++ avec la fonction ShellExecuteEx de la manière suivante :
Il n'y a pas d'erreur de compilation, le programme se lance bien mais en fait, il ne se passe rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SHELLEXECUTEINFO ExecuteInfo; memset(&ExecuteInfo, 0, sizeof(ExecuteInfo)); ExecuteInfo.cbSize = sizeof(ExecuteInfo); ExecuteInfo.fMask = 0; ExecuteInfo.hwnd = 0; ExecuteInfo.lpVerb = "open"; ExecuteInfo.lpFile = "C:\\Cast3M\\PCW_15\\bin\\castem15.bat"; ExecuteInfo.lpParameters = "C:\\Users\\Professor Satchafunk\\Documents\\C++\\fichier_cast3m.dgibi"; ExecuteInfo.lpDirectory = 0; ExecuteInfo.nShow = SW_SHOW; ExecuteInfo.hInstApp = 0; if (ShellExecuteEx(&ExecuteInfo)==FALSE) cout << "Erreur" << endl;
Il se contente d'ouvrir le fichier (.bat), qui ouvre une console, et écrit le chemin de mon fichier (.dgibi) dans la console.
Par conséquent, aucun calcul n'est fait.
Je ne vois pas trop comment faire autrement pour exécuter ce fichier.
Petite précision sur le contexte : j'ai absolument besoin de faire ceci car mon prgramme C++ fait une optimisation sur les résultats, par conséquent, j'ai besoin d'exécuter ce fichier un nombre important de fois.
J'espère avoir été clair, merci d'avance pour votre aide.
Partager