救急啊!为什么代码写的cmd和直接运行的cmd会不一样?
我写了一个webservice的方法,目的是调用一个已经写好的winform程序。我在代码里写的如下
System.Diagnostics.Process pro = new System.Diagnostics.Process();
pro.StartInfo.FileName = "cmd.exe";
pro.StartInfo.RedirectStandardInput = true;
pro.StartInfo.RedirectStandardOutput = true;
pro.StartInfo.UseShellExecute = false;
pro.Start();
pro.StandardInput.WriteLine("cd " + path);
pro.StandardInput.WriteLine("start " + path + "A.exe");
pro.StandardInput.WriteLine("exit");
那个exe启动到一半就自动关闭了,我查了一下是运行到this.InitializeComponent()出的问题,就是一开始加载控件的那里,但那些代码基本都是自动生成的啊,我直接双击A.exe可以正常启动,没有问题,直接开cmd,然后打
start path + A.exe
启动也没有问题,这究竟是怎么回事啊???
我本来想直接启动A.exe,就是pro.StartInfo.FileName = path + "A.exe";也不能成功,所以有没有什么办法解决呢?
ps:我用简单的程序测过没有问题,但我想要的程序或类似的程序就会出这种问题。