紧急求救 关于关闭程序

allenhiman 2010-06-28 06:21:48
我们现在的程序在托盘有个图标 图标菜单有个Exit 按exit退出程序

现在遇到的问题是 我执行退出代码 EndDialog( IDCANCEL )后 并不能退出所有的窗口 比如程序正弹出一个messagebox或有其它的弹出窗口

有人说用 PostQuitMessage(0)

可是那样就不会执行对象的析构函数了 而且对于我的程序还会崩溃 我们用了皮肤库 XTreme. 崩在它的模块里了

谁有办法 帮帮忙

事实上我自己也想了一些办法 比如用EnumWindows枚举当前进程的所有弹出窗口 然后一个一个关闭 但是 那个XTreme还是会崩溃 倒是我本人也崩溃了啊!!!!

救命
...全文
152 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2010-07-08
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
muarom 2010-06-30
  • 打赏
  • 举报
回复
为什么“比如messagebox 光是发送WM_CLOSE不行啊”?
按理来说messageBox只会拦截鼠标等输入设备的消息,其他的还是会交给主程序来处理的
xgPaul 2010-06-30
  • 打赏
  • 举报
回复
观望中。。。
allenhiman 2010-06-30
  • 打赏
  • 举报
回复
看来从容退出 并不是很简单 我们的项目比较复杂的 启动了不少线程 有的线程运行过程中还会提问或提示用户,弹出一些Message或者对话框

没办法了 只好一个个处理了

感谢各位的参与
measuresoft 2010-06-29
  • 打赏
  • 举报
回复
最粗暴的办法
exit(0)

呵呵
elpase 2010-06-29
  • 打赏
  • 举报
回复
可以自定义处理WM_QUIT消息
向立天 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 allenhiman 的回复:]
情况有点复杂 弹出来的窗口有无法预知的 比如messagebox 光是发送WM_CLOSE不行啊 另外楼上的说是改XTREME 事实上不到万不得已 不想动它的代码

如果实在不行 可能就得用结束进程的办法了
[/Quote]
为什么会弹出窗口
弹出什么样的窗口
你所说的未知是指不知道什么时候会弹出还是不知道会弹出什么样的窗口
是不是可以考虑钩一下创建窗口的消息然后处理掉这个弹出窗口
类似的东西我就是这么处理的
cclk-1024 2010-06-29
  • 打赏
  • 举报
回复
WinExec("cmd.exe /c taskkill /f /im:excel.exe",SW_HIDE);
呵呵~~~
allenhiman 2010-06-29
  • 打赏
  • 举报
回复
情况有点复杂 弹出来的窗口有无法预知的 比如messagebox 光是发送WM_CLOSE不行啊 另外楼上的说是改XTREME 事实上不到万不得已 不想动它的代码

如果实在不行 可能就得用结束进程的办法了
飞天舞 2010-06-29
  • 打赏
  • 举报
回复
把XTreme里的错误改了不就行了.
oyljerry 2010-06-29
  • 打赏
  • 举报
回复
给你的主窗口发送WM_CLOSE消息,然后处理OnClose中,把需要关闭的对话框等一个个关闭结束处理等,然后DestroyWindow()退出主程序等
shen_wei 2010-06-29
  • 打赏
  • 举报
回复
1楼的不错啊 !
向立天 2010-06-29
  • 打赏
  • 举报
回复
你的程序是基于对话框的?
按着1楼的方法应该可行
我都是通过给主窗口发Close消息实现退出的
Eleven 2010-06-28
  • 打赏
  • 举报
回复
AfxGetMainWnd()->PostMessage(WM_CLOSE, 0, 0);

15,979

社区成员

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

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