日期:2014-05-18  浏览次数:20994 次

c#开发winform时Process调用exe程序,win7下毫无问题,XP下运行不了
if(outFilePath == null)
  outFilePath = Path.GetDirectoryName(inFilePath) + "/" + Path.GetFileNameWithoutExtension(inFilePath) + ".wav";

  Process p = new Process();
  p.StartInfo.FileName = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "ffmpeg.exe";//需要启动的程序名  
  p.StartInfo.RedirectStandardError = false;
  p.StartInfo.UseShellExecute = true;
  //p.ErrorDataReceived += new DataReceivedEventHandler(Output);
  p.StartInfo.Arguments = " -y -i " + inFilePath + " -vn -ar 44100 -ac 1 -ab 96 -f wav " + outFilePath;//启动参数  
  p.StartInfo.CreateNoWindow = true;
  p.Start();//启动
  p.Close();
  p.Dispose();//释放资源


以上这段代码,在win7下开发的,win7下运行起来一点问题没有,但是把程序放到XP上,就不行了。没有报任何异常。
我自己检查了一下,调用的程序是打开了的,值不够一闪而过,没有参数里的相关操作。

请问如何解决啊。


------解决方案--------------------
哥们,你别用程序,

你单独把ffmpeg.exe在你的 WIN7 和 XP 下面 分别运行一下

快捷方式或者 CMD 可以输入参数的

这和C#没关系的


还想说一句:哥们换个头像吧,真心的
------解决方案--------------------
呵呵,
单独运行EXE试试什么情况
LS说的挺对