永发信息网

vc.net中使用System::Diagnostics ::Process.StartInfo->Arguments得不到想要的结果

答案:2  悬赏:0  手机版
解决时间 2021-12-28 23:14
  • 提问者网友:暗中人
  • 2021-12-28 01:08
用cmd输入命令F:\VCProject\gunzip>funzip a.zip > b.jpg可以用funzip.exe把a.zip解压为b.jgp。funzip.exe和a.zip在F:\VCProject\gunzip目录下,F:\VCProject\gunzip下生成b.jpg

我vs2008创建的c/c++窗体应用程序也在F:\VCProject\gunzip目录下

可是在调试中用以下代码执行时只是屏幕闪了以下,a.zip并没有被解压出b.jpg,感觉像是a.zip > b.jpg参数属性没有套到funzip.exe后面,只是单纯的启动了一下funzip.exe

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
System::Diagnostics ::Process ^p=gcnew System::Diagnostics ::Process ();
p->StartInfo->FileName ="F:\\VCProject\\gunzip\\funzip.exe";
p->StartInfo ->Arguments ="a.zip > bbb";
p->Start ( );
if(p->HasExited )
p->Kill ();
}
最佳答案
  • 五星知识达人网友:人间朝暮
  • 2021-12-28 02:45
不会C++,电脑也没装你那个funzip,因此无法重现你的情况。下面的C#语句在我的电脑上是运行成功的。
        //using System.Diagnostics;
        static void Main(string[] args)
        {
            string fn = @"C:\Program Files\7-Zip\7z.exe";
            string arg = @"e D:\1.zip -oD:\des *.jpg -r";
            Process p = new Process();
            p.StartInfo.FileName = fn;
            p.StartInfo.Arguments = arg;
            p.Start();
        }
全部回答
  • 1楼网友:醉吻情书
  • 2021-12-28 04:24
你好! System.Diagnostics.Process.Start("*.mp3") 仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯