用ShellExecute调用外部程序出现的程序无法正常打开的错误!

VC用ShellExecute调用网络游戏  梦幻西游  ,调用后程序开始也能打开,不过打开后会提示获取服务器列表失败,检查更新失败,然后就自动关闭了,直接双击EXE文件打开就没有问题,不知道是哪出现问题了,麻烦大家给解决一下。。我是这么调用的:ShellExecute(this->m_hWnd,NULL,L"F:\\Game\\梦幻西游\\my.exe",NULL,NULL,SW_SHOW);前面的句柄换了几个都不行,用空的不行,用GetDesktopWindow函数获取桌面句柄也不行

参数中没有指定工作目录引起的。
这样写就行了:
ShellExecute(NULL,NULL,L"F:\\Game\\梦幻西游\\my.exe",NULL,L"F:\\Game\\梦幻西游",SW_SHOW);
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-09-20
postmessage和sendmessage 两个是程序间互相通知的消息,不能建立/打开新程序的....

你用shell,shellexecute有时候打开不了应该是因为路径的问题,你应该选的不是完全路径, "a.exe" 如果你执行的程序没有这个就打开失败的.

方法一,你用完全路径打开a.exe
如把路径改成如此 "d:\program filse\a.exe"

方法二,你的程序和a.exe放同一个目录,这样你用a.exe 可以访问到

方法三(不建议),在计算机里里面设置PATH目标路径
本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网