请教一个非常邪门的问题System.Diagnostics.Process.Start
我用System.Diagnostics.Process.Start 开启一个程序,这个程序是读写注册表的。用C++写的。问题是当我通过这种方式并且看见其执行完成,但注册表内容没变,也没返回错误,而我单独去运行C++这个程序,也显示执行完成,但其注册表确实改变了。我想请问哪块出问题了。已经调用,并已经执行了,为什么注册表没有改变呢。
[解决办法]
Process p = new Process();p.StartInfo = new ProcessStartInfo() { FileName = fileName, Arguments = arguments, UseShellExecute = false, RedirectStandardOutput = true, RedirectStandardError = true, CreateNoWindow = false, WindowStyle = ProcessWindowStyle.Normal };p.Start();output = p.StandardOutput.ReadToEnd();error = p.StandardError.ReadToEnd(); //打印出来看看p.WaitForExit();