بسم الله الرحمن الرحيم

في موضوعنا هذا سوف نتحدث عن خاصييتين من خصائص Process
هما StandardInput و StandardOutput
StandardInput : تخولنا الكتابه إلى التطبيق الذي قمنا بتشغيله.
StandardOutput : تخولنا قراءة جميع البيانات التي يتم كتابتها من قبل التطبيق الذي قمنا بتشغيله.
في مثالنا هذا سوف نقوم بكتابة أوامر إلى CMD ونقوم بقراءة النتائج التي سوف يظهرها.
1- نقوم بتعريف كتلة ProcessStartInfo الخاصة بالتطبيق المراد تشغيله.
info.FileName = "CMD.EXE"; info.UseShellExecute = false; info.RedirectStandardInput = true; // ليتم تحويل الإدخال info.RedirectStandardOutput = true; // ليتم تحويل الإخراج info.WindowStyle = ProcessWindowStyle.Hidden; info.CreateNoWindow = true; // خاص ببرامج الكونسول ليتم تشغيلها بدون نافذة
Process CMD = new Process();
CMD.StartInfo = info;
CMD.Start();
StreamWriter InputStream = CMD.StandardInput;
StreamReader OutputStream = CMD.StandardOutput;
// نقوم بتفسيم النص المكتوب لمعرفة جميع الأوامر المكتوبة في النص
string[] Commands = CommandTextBox.Text.Split(new char[] { ';' });
foreach (string command in Commands)
{
InputStream.WriteLine(command);
}
// نضيف إلى الأوامر المكتوبة أمر إغلاق الكونسول
InputStream.WriteLine("Exit");
//قراءة النتائج وعرضها في خانة نص
RsultTextBox.Text = OutputStream.ReadToEnd();
InputStream.Close();
OutputStream.Close();
CMD.WaitForExit();
CMD.Close();المثال كامل مع المرفقات
شغل التطبيق ثم قم بكتابة أمر مثل C:; DiR; Dir /S ومن ثم إضغط على مفتاح الإدخال لترى النتائج
أتمنى لكم التوفيق