Process.StartInfo.FileName空白

时间:2016-12-06 05:50:04

标签: c#

所以,我正在创建一个C#程序,当按下按钮时运行命令提示符命令,这是按下按钮时执行的代码:

private void button1_Click(object sender, EventArgs e)
{
    System.Diagnostics.Process process = new System.Diagnostics.Process();
    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
    startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized;
    string arg = textBox1.Text + "& exit";
    process.StartInfo.Arguments = arg;
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.RedirectStandardInput = true;
    process.StartInfo.RedirectStandardOutput = true;
    process.StartInfo.FileName = "cmd.exe";
    process.StartInfo = startInfo;
    process.Start();
    string outp = process.StandardOutput.ReadToEnd();
    string error = process.StandardError.ReadToEnd();
    StreamWriter myStreamWriter = process.StandardInput;
    myStreamWriter.WriteLine(textBox1.Text);
    textBox2.Text = outp;
    process.WaitForExit();
}

也许它显而易见,我很遗憾,如果是,我很抱歉(我是C#的初学者),但我不能,因为我的生活,弄清楚为什么我从system.dll抛出的异常如下所示:

  

未处理的类型' System.InvalidOperationException'发生在System.dll中     附加信息:无法启动进程,因为尚未提供文件名。

但是, 提供了一个文件名(代码片段的第5行)。非常感谢任何帮助,谢谢。  附: 此代码使用:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;

要正常运行。

1 个答案:

答案 0 :(得分:1)

 main(m1,s) char *s; {
     /*
       some code here
     */
}