我要调用mencoder.exe 来剪切一个avi文件
WinExec((LPCSTR)"E:\\DXSDK\\mencoder.exe -ss 00:00:00 -oac copy -ovc copy -endpos 00:00:05 \"g:\\1.avi\" -o \"g:\\2.avi\"",0);
上面这个语句是对的
但是我要用程序来获取源文件和输出文件的路径 所以用了CString来保存路径,最后加到参数字符串中这样做的
control=(CString)"E:\\DXSDK\\mencoder.exe -ss "+start + (CString)" -oac copy -ovc copy -endpos " + end + (CString)" \""+m_sourceFile +(CString)"\" -o \""+(CString)strTmp+ (CString)":\\out.avi\"";然后传到WinExec((LPCSTR)(LPCTSTR)control,1);这样不对,mencoder。exe文件根本没有运行有资料说用ShellExecute 会更好,但我看了msdn上关于ShellExecute的描述 还是没看懂 第三个和第四个的参数究竟该传什么 请各位根据我WinExec((LPCSTR)"E:\\DXSDK\\mencoder.exe -ss 00:00:00 -oac copy -ovc copy -endpos 00:00:05 \"g:\\1.avi\" -o \"g:\\2.avi\"",0);这句话 告诉我 怎么传参给ShellExecute。
WinExec((LPCSTR)"E:\\DXSDK\\mencoder.exe -ss 00:00:00 -oac copy -ovc copy -endpos 00:00:05 \"g:\\1.avi\" -o \"g:\\2.avi\"",0);
上面这个语句是对的
但是我要用程序来获取源文件和输出文件的路径 所以用了CString来保存路径,最后加到参数字符串中这样做的
control=(CString)"E:\\DXSDK\\mencoder.exe -ss "+start + (CString)" -oac copy -ovc copy -endpos " + end + (CString)" \""+m_sourceFile +(CString)"\" -o \""+(CString)strTmp+ (CString)":\\out.avi\"";然后传到WinExec((LPCSTR)(LPCTSTR)control,1);这样不对,mencoder。exe文件根本没有运行有资料说用ShellExecute 会更好,但我看了msdn上关于ShellExecute的描述 还是没看懂 第三个和第四个的参数究竟该传什么 请各位根据我WinExec((LPCSTR)"E:\\DXSDK\\mencoder.exe -ss 00:00:00 -oac copy -ovc copy -endpos 00:00:05 \"g:\\1.avi\" -o \"g:\\2.avi\"",0);这句话 告诉我 怎么传参给ShellExecute。
解决方案 »
- 请问一个关于网络编程的简单问题(50分)
- 在MFC中用ActiveX控件的ADO和DataGrid连接数据库的问题!谢谢
- CString的问题
- 如何看到com组件的实现了哪些接口?
- 伪造tcp通信时,WinPcap不停发送ack包的问题
- 讨论一下画图软件中的问题
- Edit控件和滑块控件相关联,在Edit中输入一个数字要求滑块定位到相应的位置?
- 请问各位哪里有VC5.0(visual stdio97 企业版也可)整个安装文件下载?
- 如何将ADORecordset数据集从业务层传到客户端(三层结构)?
- fdsaf
- 关于opengl显示点的问题
- CreateDispatch("Excel.Application")出错 在线等!
lpFile [in]
文件名称
ping 是文件名 C:\Windows\System32 下的ping.exe
lpParameters [in, optional]
传递给文件的参数
/t 127.0.0.1 是参数
ShellExecute(NULL,_T("open"),_T("E:\\DXSDK\\mencoder.exe"),_T("-ss 00:00:00 -oac copy -ovc copy -endpos 00:00:05 \"g:\\1.avi\" -o \"g:\\2.avi\""),NULL,SW_HIDE);类似这样用
ShellExecute and ShellExecuteEx
BOOL CreateProcess(..);
考虑编码
考虑路径考虑启动程序的参数设置 - /,
最好写个测试启动程序,用getcommandlin类似的函数得到启动参数,看看是否配置正确注意可能不能解析空格的问题,建议把整个命令放在一个引号内
如:"C:\\Microsoft Visual Studio\\COMMON\\IDE\\IDE98\\NOTEPAD.EXE -\"%1\""