Bonjour,
Je souhaiterais rediriger le résultat d'une commande DOS vers une variable, afin de pouvoir effectuer des actions en fonction du retour...
Je ne souhaite pas utiliser un fichier temporaire, car une même commande DOS peut être lancée 2 fois simultanément, et l'écriture d'une fichier temporaire pose donc problème.
Jusqu'à présent, j'utilise ShellExecute, ou le code suivant pour lancer une commande DOS :
Existe-t'il d'autres méthodes me permettant de récupérer le résultat d'une commande DOS ? Merci par avance !
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 SHELLEXECUTEINFO shInfo; DWORD sortie_processus; bool shRetour; repertoire = ExtractFileDir(commande); ZeroMemory(&shInfo,sizeof(shInfo)); shInfo.cbSize=sizeof(shInfo); shInfo.hwnd=NULL; shInfo.fMask=SEE_MASK_NOCLOSEPROCESS; shInfo.lpVerb=NULL; shInfo.lpFile=commande.c_str(); shInfo.lpParameters=parametres.c_str(); shInfo.lpDirectory=repertoire.c_str(); shInfo.nShow = SW_HIDE; shRetour = ShellExecuteEx(&shInfo);
Partager