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

VC用ShellExecute调用网络游戏 梦幻西游 ,调用后程序开始也能打开,不过打开后会提示获取服务器列表失败,检查更新失败,然后就自动关闭了,直... VC用ShellExecute调用网络游戏  梦幻西游  ,调用后程序开始也能打开,不过打开后会提示获取服务器列表失败,检查更新失败,然后就自动关闭了,直接双击EXE文件打开就没有问题,不知道是哪出现问题了,麻烦大家给解决一下。。我是这么调用的:ShellExecute(this->m_hWnd,NULL,L"F:\\Game\\梦幻西游\\my.exe",NULL,NULL,SW_SHOW);前面的句柄换了几个都不行,用空的不行,用GetDesktopWindow函数获取桌面句柄也不行 展开
 我来答
ljyljx1978
2011-10-20 · TA获得超过666个赞
知道答主
回答量:125
采纳率:25%
帮助的人:37.9万
展开全部
参数中没有指定工作目录引起的。
这样写就行了:
ShellExecute(NULL,NULL,L"F:\\Game\\梦幻西游\\my.exe",NULL,L"F:\\Game\\梦幻西游",SW_SHOW);
raac1357
推荐于2016-09-20 · TA获得超过136个赞
知道答主
回答量:359
采纳率:0%
帮助的人:189万
展开全部
postmessage和sendmessage 两个是程序间互相通知的消息,不能建立/打开新程序的....

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

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

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

方法三(不建议),在计算机里环境变量里面设置PATH目标路径
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式