PDA

View Full Version : سوال: خروجی دستورات cmd در #C



s_s_h70
چهارشنبه 14 اسفند 1392, 10:52 صبح
با سلام خدمت اساتید #C میخوام یه برنامه بنویسم که تقریباً شبیه ساز cmd هست یعنی مثل محیط cmd توش دستور مینویسم و اجرا میشه ؛ تا اینجا کار ساده ای هست و تو انجمن هم نحوه اجرای دستورات cmd در #C وجود داره ولی من میخوام خروجی این دستورات هم واسم نشون بده مثلاً یه تکست باکس واسه تایپ دستورات و نمایش نتایج دستورات.
منتظر نظر اساتید هستم.

مهرداد صفا
چهارشنبه 14 اسفند 1392, 15:35 عصر
سلام.
این تاپیک (http://barnamenevis.org/showthread.php?415916-اجرای-cmd-در-پس-زمینه-برنامه-؟) رو مشاهده کنید.

s_s_h70
چهارشنبه 14 اسفند 1392, 16:03 عصر
دست شما درد نکنه مدیر عزیز منم دیدم حالا که تونستم کدم رو کامل کنم بهتره بزارم اینجا تا همه استفاده کنن.:قلب:

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.IO;

namespace CaptureCommandOutput
{
public class Program
{
public static void Main(string[] args)
{
start: ;
string output = string.Empty;
string error = string.Empty;
string command = string.Empty;;
command= Console.ReadLine();
if (command == "exit")
goto exit;
if (command == "cls")
Console.Clear();
ProcessStartInfo processStartInfo = new ProcessStartInfo("cmd", "/c " + command);
processStartInfo.RedirectStandardOutput = true;
processStartInfo.RedirectStandardError = true;
processStartInfo.WindowStyle = ProcessWindowStyle.Normal;
processStartInfo.UseShellExecute = false;
Process process = Process.Start(processStartInfo);
using (StreamReader streamReader = process.StandardOutput)
{
output = streamReader.ReadToEnd();
}
using (StreamReader streamReader = process.StandardError)
{
error = streamReader.ReadToEnd();
}
Console.WriteLine(output);
if (!string.IsNullOrEmpty(error))
{
Console.WriteLine(error);
}
goto start;
exit: ;
}
}
}