MFC设置按钮控件打开一个exe文件,调试运行时可以打开,生成的exe文件点击按钮无响应

3newest5 2014-08-22 05:23:13
RT
调试运行弹出的对话框上点击按钮,是可以打开对应的exe文件。可是再程序生成的可执行文件中点击按钮却打不开是为什么呢?
...全文
461 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leessang2015 2016-10-24
  • 打赏
  • 举报
回复
大神。可有解决
向立天 2014-09-27
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
夫人的泡泡鱼 2014-08-27
  • 打赏
  • 举报
回复 1
引用 8 楼 schlafenhamster 的回复:
GetModuleFileName()得到模块的完整路径名,例如,你载入c:\windows\system32\a.dll,得到模块句柄h,则你可以用GetModuleFileName()得到h模块的完整路径名。
正解。 GetModuleFileName()返回应用程序所在的绝对路径,在初始化时定义一个CString strPath;取得应用程序所在的目录,然后把你要加载的exe的文件名.exe加上获得目录路径,就是exe的绝对路径了,这样就可以方便加载了。
3newest5 2014-08-27
  • 打赏
  • 举报
回复
引用 8 楼 schlafenhamster 的回复:
GetModuleFileName()得到模块的完整路径名,例如,你载入c:\windows\system32\a.dll,得到模块句柄h,则你可以用GetModuleFileName()得到h模块的完整路径名。
什么意思?不是很明白,能详细说一下吗···我要载入的exe是自己写的,随意放到任何一个文件夹下,如何得到模块句柄?
微型蚂蚁 2014-08-26
  • 打赏
  • 举报
回复
引用 7 楼 u014336448 的回复:
[quote=引用 6 楼 piaobotudou 的回复:] [quote=引用 5 楼 u014336448 的回复:] [quote=引用 2 楼 piaobotudou 的回复:] 可能是工作目录不同,试试用绝对路径打开exe
用绝对路径是可以打开,可是生成后的exe文件放到另外一台电脑(此电脑里没有被调用的exe文件)上去运行也是打不开是为什么呢?新手弄不明白,求教了!谢谢![/quote] 另外一台电脑里没有那个exe文件,当然打不开。[/quote] 那岂不是换台电脑,路径名就得修改啊?那有什么放法能把被调用的exe封装起来让用户看不到呢?[/quote] 如果是你自己的程序,干脆把那个exe就放倒你自己的应用程序目录下就可以了。 如果是别人的程序可以试试 看看那个程序有没有在组册表里保存了路径信息,或者关联了文件类型,如果有就查询注册表找到路径 实在不行就让用户自己输入路径吧
schlafenhamster 2014-08-26
  • 打赏
  • 举报
回复
GetModuleFileName()得到模块的完整路径名,例如,你载入c:\windows\system32\a.dll,得到模块句柄h,则你可以用GetModuleFileName()得到h模块的完整路径名。
3newest5 2014-08-26
  • 打赏
  • 举报
回复
引用 6 楼 piaobotudou 的回复:
[quote=引用 5 楼 u014336448 的回复:] [quote=引用 2 楼 piaobotudou 的回复:] 可能是工作目录不同,试试用绝对路径打开exe
用绝对路径是可以打开,可是生成后的exe文件放到另外一台电脑(此电脑里没有被调用的exe文件)上去运行也是打不开是为什么呢?新手弄不明白,求教了!谢谢![/quote] 另外一台电脑里没有那个exe文件,当然打不开。[/quote] 那岂不是换台电脑,路径名就得修改啊?那有什么放法能把被调用的exe封装起来让用户看不到呢?
微型蚂蚁 2014-08-26
  • 打赏
  • 举报
回复
引用 5 楼 u014336448 的回复:
[quote=引用 2 楼 piaobotudou 的回复:] 可能是工作目录不同,试试用绝对路径打开exe
用绝对路径是可以打开,可是生成后的exe文件放到另外一台电脑(此电脑里没有被调用的exe文件)上去运行也是打不开是为什么呢?新手弄不明白,求教了!谢谢![/quote] 另外一台电脑里没有那个exe文件,当然打不开。
3newest5 2014-08-26
  • 打赏
  • 举报
回复
引用 2 楼 piaobotudou 的回复:
可能是工作目录不同,试试用绝对路径打开exe
用绝对路径是可以打开,可是生成后的exe文件放到另外一台电脑(此电脑里没有被调用的exe文件)上去运行也是打不开是为什么呢?新手弄不明白,求教了!谢谢!
dvlinker 2014-08-22
  • 打赏
  • 举报
回复
应该是路径不对,调试时的当前目录是你的工程文件所在目录,直接运行则是你的exe所在目录
hhhh63 2014-08-22
  • 打赏
  • 举报
回复
贴一下你打开的代吗
微型蚂蚁 2014-08-22
  • 打赏
  • 举报
回复
可能是工作目录不同,试试用绝对路径打开exe
凌乱哥 2014-08-22
  • 打赏
  • 举报
回复
路径不对

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧