Bonjour,
j'ai un programme (virtualdub.Exe pour pas le citer) qui apres une commande spécifique, me renvoye un nombre via le code d'erreur.
Comment recuperer ce code d'erreur qui m'interresse ?
Merci d'avance
Flow
Bonjour,
j'ai un programme (virtualdub.Exe pour pas le citer) qui apres une commande spécifique, me renvoye un nombre via le code d'erreur.
Comment recuperer ce code d'erreur qui m'interresse ?
Merci d'avance
Flow
- En théorie, valeur retournée par system() (mais je ne sais plus si c'est garanti par la norme).
- WEXITSTATUS(Valeur renvoyée par wait()) sous unixoïde.
- GetExitCodeProcess() sous Win32.
Pour expliquer mon probleme :
J'ai un programme, virtualdub qui par programmation, me renvoye en code d'erreur le Frame Rate d'une video.
donc, j'ai fait un CreateProcess() pour lancer vdub et ses parametres.
apres avec GetExitProcess, je recupere donc le parametre voulu.
donc, je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 unsigned long exit; TStartupInfo StartupInfoHelp; TProcessInformation ProcessInformationHelp; ZeroMemory(&StartupInfoHelp,sizeof(TStartupInfo)); StartupInfoHelp.cb = sizeof(TStartupInfo); StartupInfoHelp.dwFlags = STARTF_USESHOWWINDOW; StartupInfoHelp.wShowWindow = SW_SHOWNORMAL; ZeroMemory(&ProcessInformationHelp,sizeof(TProcessInformation)); CreateProcess( Exe.c_str(), parametres.c_str() , NULL, NULL, true, 0, NULL, ExtractFilePath(Exe).c_str(), &StartupInfoHelp, &ProcessInformationHelp) ; GetExitCodeProcess(ProcessInformationHelp.hProcess,&exit);
Hé, ce serait peut-être pas mal d'attendre qu'il se termine d'abord, hein...
Tu peux utiliser WaitForSingleObject() pour ça.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager