首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于ShellExecute()与system()的区别,该怎么解决

2012-02-12 
关于ShellExecute()与system()的区别看到网上那个CoolG双开器很好,自己学编程想写个,但是我修改了窗口标题

关于ShellExecute()与system()的区别
看到网上那个CoolG双开器很好,自己学编程想写个,但是我修改了窗口标题后,编程取得elementclient.exe的路径存放在path数组里ShellExecute(NULL,"open",path,"game:cpw",NULL,SW_SHOW); 
启动不了,而system(“start elementclient.exe game:cpw”)却可以,但后者明显的缺陷是必须把双开器放在elementclient.exe 目录,请问ShellExecute()与system()的区别是什么呢???

[解决办法]
可能你shellexecute 调用的不对,应该没啥区别
[解决办法]
shellexecute需要映射关系明确配置在注册表中,而system不需要
楼主应该使用CreateProcess,它可以控制当前目录,不需要放在某个特定的目录
[解决办法]
CreateProcess 是比较底层的操作,可以控制的内容比较多

lz 可以自己把 CreateProcess 包装一下,留出工作目录参数

热点排行