cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011
-
19 déc. 2007 à 17:44
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 2009
-
20 déc. 2007 à 06:52
Bonjour,
En tant que débutant je n'ai aucune idée de la possibilité de réalisation de mon projet:
Je voudrais savoir s'il est possible d'intégrer une console de ligne de commande dos dans un programme, plus particulierement sous la forme d'une genre de textbox, donc totalement intégrée à une form. (je ne souhaite pas qu'elle apparaisse dans une nouvelle fenetre..
Je doute que celà soit faisable, mais sait-on jamais..
cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011 19 déc. 2007 à 20:44
Heu j'ai oublié de préciser que je débutait...
Voici le code que j'ai pu voir le thread :
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
string result = process.StandardOutput.ReadToEnd();
concretement comment m'en servir ??
j'ai essayer de le coller tel que; je vois apparaitre pendant une fraction de seconde la console qui disparait ensuite...
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 19 déc. 2007 à 22:41
Ouaip bon début ! Mais l'erreur ne te parle-t-elle pas d'une impossibilité car pas redirigé ? ou un truc du style ?
Rajoute donc
process.StartInfo.RedirectStandardInput = true;
Après
process.StartInfo.RedirectStandardOutput = true;
cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011 19 déc. 2007 à 22:52
Sisi c'est celà même ! Merci pour l'information.
En rajoutant ta ligne je n'ai plus d'erreur, mais maintenant l'impossibilité d'ecrire ni dans la richtextbox (ce que je souhaite faire) ni dans la fenetre de la console qui s'ouvre (que j'aimerais d'ailleurs ne pas voir).
Comment cela se fait-t-il ?
En attendant je regarde le lien que tu m'a envoyé mais j'avoue ne pas tout saisir.
Cela peut il etre du au fait que j'ai inséré cette procédure dans l'evenement click d'un bouton ?
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardInput = true;
process.Start();
string result = process.StandardOutput.ReadToEnd();
richTextBox1.Text = result;
//string input = richTextBox1.Text;
//process.StandardInput.Write(input);
string inputText;
int numLines = 0;
do
{
richTextBox1.Text = "Enter a line of text (or press the Enter key to stop):";
inputText = richTextBox1.Text;
if (inputText.Length > 0)
{
numLines++;
process.StandardInput.Write(inputText);
}
} while (inputText.Length != 0);
if (numLines > 0)
{
richTextBox1.Text = result;
}
else
{
richTextBox1.Text = " No input was sorted";
}