[c++] écrire derriere la cmd

Fermé
Sens0r - 21 févr. 2006 à 17:45
 programmeur - 30 mai 2010 à 15:36
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
30 mai 2010 à 15:36
les accolades !!!!!!!!!!!!!!!!!!!!!
0
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
21 févr. 2006 à 19:42
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