Comment rediriger la sortie d'une commande DOS dans une variable ?
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 :
Code:
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); |
Existe-t'il d'autres méthodes me permettant de récupérer le résultat d'une commande DOS ? Merci par avance !