CreatePorcess + App 16-bits

Signaler
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
Bonjour

J'éxécute une application 16-bits avec CreateProcess mais je n'arrive pas à récupérer ce qu'il y a dans stdout. Le problème c'est que le même code fontionne quand il s'agit d'une application 32-bits

Voila un bout de code qui illustre cela:
#include <windows.h>

int APIENTRY WinMain(HINSTANCE a, HINSTANCE z, LPTSTR e, int r)
{
STARTUPINFO si = {sizeof si};
PROCESS_INFORMATION pi = {0};
SECURITY_ATTRIBUTES sa = {sizeof sa, NULL, 1};
HANDLE hFile = CreateFile("C:\\a.txt", GENERIC_WRITE, 0, &sa, CREATE_ALWAYS, 0, 0);

si.hStdOutput = hFile; 
si.dwFlags = STARTF_USESTDHANDLES;
CreateProcess(0, "java", &sa, &sa, TRUE, NORMAL_PRIORITY_CLASS, 0, 0, &si, &pi);

WaitForSingleObject(pi.hThread, INFINITE);

CloseHandle(hFile);
return 0;
}


Par contre si j'éxécute dans la console et que je redirige dans un fichier ca marche!

Merci

1 réponse

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Apparemment c'est un problème connu, je l'ai résolu par la création d'une autre éxécutable Console, c'est lui qui appelle CreateProcess, et comme ca on peut récupérer la sortie de l'application 16-bits grace à l'application console 32-bits