[c++] écrire derriere la cmd

Sens0r -  
 programmeur -
Salut,
je suis en train d'ecrire un programme en C++, il ouvre une CMD avec CreateProcess, imaintenant je voudrai qu'il écrive qch derière la CMD. Dans mon exemple "dir".

Mais cela ne marche pas, la CMD fonctione elle en soit, si j'y inscrit manuellement qch il n'y a pas de probleme, mais je ne parviens pas a faire écrire qch au programme.

Quelqu'un peut il m'aider? Ca fait plussiers semaines que je suis bloqué a cuase de ce Pprobleme, je ne trouve pas la faute... Je serai content si qu'un avait un tuyau.

Salutations,
Sens0r
[code]
HANDLE hIn;
hIn = GetStdHandle(STD_INPUT_HANDLE);
HANDLE hOut;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);



if (hIn != INVALID_HANDLE_VALUE)
{
bool y=TRUE;
AllocConsole();
STARTUPINFO si = { sizeof(si) };//Bei dieser Zeile bin ich mir nicht sicher -!-
si.dwFlags = STARTF_USESTDHANDLES;
si.hStdInput = hIn;
si.hStdOutput = hOut;


PROCESS_INFORMATION pi;
char szExe[] = "cmd.exe";
while (y){
if(CreateProcess(0, szExe, 0, 0, TRUE, 0, 0, 0, &si, &pi))
{
for(;;)
{
//recv(W_IP, Buffer, sizeof(Buffer), 0); //zur Zeit ausgeklammert da ich ohne Sockets probieren will

const char *dir= "dir\r\n";
DWORD written = 0;
WriteFile (hIn,dir,strlen(dir),&written,NULL);
}
}
}
}
[/code]
A voir également:

2 réponses

programmeur
 
les accolades !!!!!!!!!!!!!!!!!!!!!
0
mamiemando Messages postés 33777 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Mais pourquoi tu n'exécutes pas directement les commandes sans ouvrir un cmd, en redirigeant les résultats avec ">" ?

Jète un oeil à la commande execvp.

Bonne chance
-1