我想用VC++调用另外一个程序生成的exe文件(例如aa.exe),但是这个exe文件需要几个参数(例如我想要像在dos里一样执行aa.exe /c /D /EFG hhh.c)其中/c /D /EFG为参数,hhh.c为aa的输入文件。这个命令在dos里面执行非常顺利但是
我试着用
ShellExecute(NULL,"open","aa.exe"," /c /D /EFG hhh.c","",SW_SHOW);
来在VC里调用,结果出不来。请高手指点。

解决方案 »

  1.   

    我已经用Winexec试验过了:WinExec("aa.exe /c / /EFG hhh.c",SW_SHOW);
    也用WinExec("cmd /c aa.exe /c / /EFG hhh.c",SW_SHOW);试验过了,可是都得不到结果,屏幕一闪而过。就算有错误提示也看不到。急啊!~~~~~~
      

  2.   

    用system("aa.exe /c / /EFG hhh.c");试试
      

  3.   

    应该是ShellExecute参数的问题
    首先“  /c /D /EFG hhh.c”是否有空格
    其次 aa.exe放哪了?如果参数确认无误 还不行的话
    那你这样试试
    CString cStr = " /c /D /EFG hhh.c ";
    int nLen = cStr.GetLength();
    LPCSTR lpszBuf = cStr.GetBuffer(nLen);
    ShellExecute(NULL,"open","aa.exe",
    lpszBuf,
    NULL,SW_HIDE);