以下是两种方式:
第一:ShellExecute(NULL,L"open",L"D:\\mencoder.exe",L"d:\\mtv1.3gp -o D:\\out.3gp -of lavf -lavfopts format=3gp -oac lavc -lavcopts acodec=libopencore_amrnb:abitrate=10200 -af lavcresample=8000,channels=1 -ovc x264 -x264encopts global_header:keyint=25:keyint_min=25:bitrate=40 -vf scale=320:240,harddup -ofps 5 -ss 0 -endpos 999999",NULL,SW_SHOW);
第二:ShellExecute(NULL,L"open",L"D:\\mencoder.exe",command,NULL,SW_SHOW);
奇怪的是,第一种可以正常运行,第二种返回的代码是5,拒绝访问(SE_ERR_ACCESSDENIED),并且可以确定command的内容与第一种方式的命令是完全相同的。为什么会出现这种情况?
ShellExecute的问题
答案:2 悬赏:0
解决时间 2021-03-09 17:26
- 提问者网友:月葬花瑰
- 2021-03-09 04:36
最佳答案
- 二级知识专家网友:哭不代表软弱
- 2021-03-09 04:58
方法:1.交换两种方法的执行顺序
如果 变成第一种出现问题,则问题很明显就知道了
方法2: 将D:\\mencoder.exe 移到E盘 执行第二种
如果还是出现问题,则检查command
如果 变成第一种出现问题,则问题很明显就知道了
方法2: 将D:\\mencoder.exe 移到E盘 执行第二种
如果还是出现问题,则检查command
全部回答
- 1楼网友:强势废物
- 2021-03-09 05:04
用引号将包含空格的文件名标记出来:
shellexecute(null, ("open"),("wmplayer"),("\"e:/aa aa.avi\""),null,sw_shownormal);
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯