找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1049|回复: 7

[讨论]:对AutoCAD的非常规处理

[复制链接]
发表于 2006-4-3 18:02:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
请问各位,在ARX中安装一个线程钩子,它能截获到AutoCAD的关闭消息吗?
我测试了,它是能截获到的,但却是在AutoCAD首先收到这个消息后才继续发给钩子的。哪能否在AutoCAD接受到WM_CLOSE之前截获到这个消息呢?
我想在ARX中安装一个系统钩子应该是能够做到的。不知大家是否认可。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-4-3 21:12:54 | 显示全部楼层
1、用的是什么方法?
   SetWindowsHookEx、SetWindowLong、acedRegisterFilterWinMsg
2、目标窗口是acedGetAcadFrame吗?
我估计你的目的是在CAD即将关闭时等到第一时间的通知,然后有你的回调决定是否真的退出。若是这样,应用SetWindowHookEx或SetWindowLong对CAD主窗体设置钩子,拦截WM_CLOSE、WM_SYSCOMMAND中的SC_CLOSE等多个退出相关消息,因为不同的关闭方式导致不同的消息;若用SetWindowsHookEx,钩子类型可用WH_GETMESSAGE或WH_MSGFILTER,具体取决于你的目的.
3、当然,也可以不用消息钩子。用编辑器反应器也可以完成此操作,其中,收到beginQuit通告时可用veto来阻止CAD退出;同样的处理模式,也可以通过COM来响应退出通知。
4、此问题如果让我作,我会以预防为主。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-4 10:50:05 | 显示全部楼层
非常感谢你的提示,我还没搞好呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-8-28 13:02:41 | 显示全部楼层
用第一二种方法如何拦截QuitAbort
用第三种方法完全可以实现!

截获的消息都在退出窗口前,退出窗口完成后的有什么消息可以截取!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-8-28 14:14:49 | 显示全部楼层
在网吧想了一下, 用反应器应该可以实现
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-28 16:18:57 | 显示全部楼层
那请你谈谈你的思路看看,看看你有什么高见
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-8-28 17:42:04 | 显示全部楼层
我也想知道啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-8-29 23:38:38 | 显示全部楼层
用反应器内部的函数简单配合就可以拦截存盘窗口打开前和存盘窗口关闭后的消息!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-24 11:36 , Processed in 0.423518 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表