C# 计算机本地化进程。开始()故障?

C# 计算机本地化进程。开始()故障?,c#,process,C#,Process,我对c#中的process类有一个问题,特别是在尝试启动命令提示符时。发生的情况是,无限多的cmd窗口打开,然后无限关闭,就像陷入了一个循环,尽管事实上没有;当我的电脑运行时,它会冻结我的电脑。然而,这只发生在我的64位vista上;这段代码(我将很快发布)在我的32位联想thinkpad上运行得非常好,我不知道为什么。请注意,标准输出线不是导致问题的原因;我试着把它们拿走,但没有成功。任何想法都将不胜感激 using System; using System.Windows.Forms; us

我对c#中的process类有一个问题,特别是在尝试启动命令提示符时。发生的情况是,无限多的cmd窗口打开,然后无限关闭,就像陷入了一个循环,尽管事实上没有;当我的电脑运行时,它会冻结我的电脑。然而,这只发生在我的64位vista上;这段代码(我将很快发布)在我的32位联想thinkpad上运行得非常好,我不知道为什么。请注意,标准输出线不是导致问题的原因;我试着把它们拿走,但没有成功。任何想法都将不胜感激

using System;
using System.Windows.Forms;
using System.Diagnostics;

public class BuildByteArray
{

    public static void Main()
    {


        Process process = new Process();
        ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.UseShellExecute = false;
        startInfo.RedirectStandardOutput = true;
        startInfo.WindowStyle = ProcessWindowStyle.Hidden;
        startInfo.FileName = "cmd.exe";
        startInfo.Arguments = "/c ipconfig";
        MessageBox.Show("");
        process.StartInfo = startInfo;

        process.Start();
        string output = process.StandardOutput.ReadToEnd();
        MessageBox.Show(output);
        process.WaitForExit();

    }
}

您的应用程序是否编译为AnyCPU…请尝试编译为x86。如果它已经是32位/x86,那么Wow64重定向可能会成为阻碍。关于如何停止此操作的建议:也可以在StartInfo上尝试…CreateNoWindow=true。