Откройте Блокнот с помощью приложения C# в командной строке Windows.

Я написал эту программу, чтобы открыть Блокнот с помощью приложения С# в командной строке Windows, но она не может

В чем проблема?

namespace msdos
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        Process p = new Process();
        ProcessStartInfo info = new ProcessStartInfo();
        info.FileName = "cmd.exe";
        info.RedirectStandardInput = true;
        info.UseShellExecute = false;

        p.StartInfo = info;
        p.Start();

        p.WaitForExit();

        using (StreamWriter sw = p.StandardInput)
            if (sw.BaseStream.CanWrite) { sw.WriteLine("notepad.exe"); }
    }
}
}

person iggarci.sivi    schedule 30.06.2015    source источник
comment
почему в мс-дос? не напрямую?   -  person Ali Adlavaran    schedule 01.07.2015
comment
Вы должны поставить p.WaitForExit(); в самом конце, не перед записью в поток.   -  person Dzienny    schedule 01.07.2015


Ответы (2)


Попробуйте запустить любые такие команды:

ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + "notepad.exe");

вы можете заменить notepad.exe любой командой.

person Zakaria Smahi    schedule 30.06.2015

попробуй это:

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C notepad.exe";
process.StartInfo = startInfo;
process.Start();

Или проще:

string strCmdText;
strCmdText = "/C notepad.exe";
System.Diagnostics.Process.Start("CMD.exe", strCmdText);
person Ali Adlavaran    schedule 30.06.2015