Bonjour,
Je suis sous microsoft visual studio 10 en C++ Winform.
J'aimerais ex�cuter une ligne de commande, � partir du C++, qui g�n�re une sortie standard.
Ce que je souhaiterais c'est obtenir cette sortie std dans une textbox, soit en temps r�el soit une fois la commande termin�e.
Cette la dur�e de traitement de cette commande peut �tre assez longue, donc j'aimerais aussi avoir une barre de progression.
Apr�s plusieurs recherches, j'ai pens� faire quelque chose comme ca:
Le souci c'est que cette solution ne me permet pas d'obtenir la sortie std apr�s l'ex�cution de la commande avec les arguments qui lui sont pass�s.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { //envoi de la commande pour analyser le fichier avi //system(ccmd); //progressBar1->PerformStep(); Process^ compiler = gcnew Process; compiler->StartInfo->FileName = "cmd"; compiler->StartInfo->Arguments = "ffmpeg -i"; //"ffmpeg -i \""+fichierPath+"\" -vf blackdetect=d=0.5:pic_th=0.70:pix_th=0.00 -f null -"; compiler->StartInfo->UseShellExecute = false; compiler->StartInfo->RedirectStandardOutput = true; compiler->Start(); textBox2->AppendText(compiler->StandardOutput->ReadToEnd()); compiler->WaitForExit(); }
En effet j'obtiens uniquement :
J'ai �galement essay� d'ajouter le code ci-dessous mais j'ai une erreur � l'execution.Microsoft Windows XP [version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
D:\Documents and Settings\user\Bureau\blackDetect\blackDetect>
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 // Use a stream writer to synchronously write the sort input. StreamWriter^ sortStreamWriter = compiler->StandardInput; // Start the asynchronous read of the sort output stream. compiler->BeginOutputReadLine();
Merci d'avance pour votre aide!
Partager