cs_zoreol
Messages postés10Date d'inscriptionlundi 17 mars 2003StatutMembreDernière intervention23 avril 2003
-
18 mars 2003 à 14:49
cs_zoreol
Messages postés10Date d'inscriptionlundi 17 mars 2003StatutMembreDernière intervention23 avril 2003
-
19 mars 2003 à 09:45
sa yest j'arrive a lancer le creatprocess(il fallait faire un memset).
Bon bref en fait now je voudrai recuperer le stdout du handle.C possible?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 18 mars 2003 à 15:46
Je sais pas quel memset il fallait mais je viens de refaire un test et va impec. J'ai recompile 3 fois le prog lance pour fare varier valeur de sortie, je la recupere a tout coup.
voila prog qui recupere:
#include <windows.h>
char szbuff[12];
char szappname[] = "RetCode";
int __stdcall ProgRun(char *szprog)
{
PROCESS_INFORMATION pi;
STARTUPINFO si = {sizeof(si)};
DWORD dwExit;
int lret = -1; // fatale supposee
BOOL bok = CreateProcess(0, szprog, 0, 0, 0,
CREATE_SUSPENDED, 0, 0, &si, &pi);
// ou alors CREATE_SUSPENDED | CREATE_NO_WINDOW
if(bok) {
ResumeThread(pi.hThread);
CloseHandle(pi.hThread);
dwExit = WaitForSingleObject(pi.hProcess, 480000);
// 48000 = 8 minutes maxi exemple
// INFINITE ou 0 sont valides mais...
if(dwExit == WAIT_OBJECT_0) GetExitCodeProcess(pi.hProcess, (DWORD*)&lret);
CloseHandle(pi.hProcess);
}
return lret;
}
cs_zoreol
Messages postés10Date d'inscriptionlundi 17 mars 2003StatutMembreDernière intervention23 avril 2003 18 mars 2003 à 16:08
en fait sa marche ton code merci,mais C;pas compatible avec e que je veut tu voit l'exe htpasswd retourne une ligne de code sur le stdout et C cette ligne que je veut recup.Je pense q'avec l'handle du process je peut rediriger son stdout .tu voit?