没想到趴窝了 分析了半天 应该是perl解释器版本过高的原因 换版本5.8左右的解决问题
出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.Threading; namespace ct3gpHint { class Program { static void Main(string[] args) { Console.WriteLine("hello my master!"); string path = @"C:\\WINDOWS\system32\mp4creator.exe"; string comdstr = @" -list D:\vod1\3gp\20140626093319765.3gp"; RunCmd(path,comdstr); Thread.Sleep(4000); string cmdstr2 = @" -hint=2 D:\vod1\3gp\20140626093319765.3gp"; RunCmd(path,cmdstr2); string cmdstr3 = @" -hint=1 D:\vod1\3gp\20140626093319765.3gp"; RunCmd(path, cmdstr3); Console.ReadLine(); } /// <summary> /// 运行cmd命令 /// 不显示命令窗口 /// </summary> /// <param name="cmdExe">指定应用程序的完整路径</param> /// <param name="cmdStr">执行命令行参数</param> static bool RunCmd(string cmdExe, string cmdStr) { bool result = false; try { using (Process myPro = new Process()) { myPro.StartInfo.FileName = "cmd.exe"; myPro.StartInfo.UseShellExecute = false; myPro.StartInfo.RedirectStandardInput = true; myPro.StartInfo.RedirectStandardOutput = true; myPro.StartInfo.RedirectStandardError = true; myPro.StartInfo.CreateNoWindow = true; myPro.Start(); //如果调用程序路径中有空格时,cmd命令执行失败,可以用双引号括起来 ,在这里两个引号表示一个引号(转义) string str = string.Format(@"""{0}"" {1} {2}", cmdExe, cmdStr, "&exit"); myPro.StandardInput.WriteLine(str); myPro.StandardInput.AutoFlush = true; myPro.WaitForExit(); myPro.Dispose(); result = true; } } catch { } finally { } return result; } } }