找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 835|回复: 9

[讨论]:再论:如何获取CAD中所有加载程序的路径?

[复制链接]

已领礼包: 1个

财富等级: 恭喜发财

发表于 2006-6-6 19:32:40 | 显示全部楼层 |阅读模式

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

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

×
在CAD的[工具]下拉中[加载应用程序]中就可以看见所有加载的程序文件 ,及其路径。

理论上讲,这些都在CAD的某个地方,应该能访问的。

可是,我也不知道!^_^。。。。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-6-7 08:08:12 | 显示全部楼层
Lisp 和 ActiveX 是没有办法了,Doslib 中有这样的函数,如果你会ARX 可以给大家写一个这样的函数,在 ARX 中是很简单的事情。

AcApDocument::GetCountOfLispList Function virtual int

GetCountOfLispList() const = 0;

Returns number of loaded LISP applications.


AcApDocument::GetItemOfLispList Function virtual AcLispAppInfo *

GetItemOfLispList(

int nIndex) const = 0;

nIndex Input index to the list of loaded LISP applications

Accesses the list of loaded LISP applications and returns information corresponding to the specified index.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-7 10:49:18 | 显示全部楼层
r14中,查找外部已加载过的lisp文件可以看appload.dfs。2000i的估计是用arx实现的,不懂了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

发表于 2006-6-7 14:51:20 | 显示全部楼层
上次讨论时
找到了 LSP 加载的路径在注册表中的:
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ComDlg32\\OpenSaveMRU\\lsp
下面!
其它的还不清楚~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2006-6-7 15:18:34 | 显示全部楼层
这只是操作系统XP的历史记录而已,它只记录用户通过菜单加载应用程序时的记录,并不真实。若用户是用其他方式加载的程序就无法了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2006-6-8 11:03:35 | 显示全部楼层
直接在acad2000doc.lsp文件中写上(aultoload "文件名" ' ("命令名"))则自动加载文件,且命令直接执行.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2006-6-8 15:34:04 | 显示全部楼层
最初由 飞马牌汽车 发布
[B]http://www.xdcad.net/forum/showthread.php?s=&threadid=559926
的3楼好像提过arx的 [/B]

效率不是一般的低,它是遍历硬盘上所有文件呀!而且若同名文件则出错。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2006-6-8 20:10:50 | 显示全部楼层
这是 winapi 中的一部分
[php]
int getLoadedLispApps(resbuf *rb)
{
        AcApDocument* pDoc = NULL;
        int retCode;
        TCHAR  *lpPath, *lpBuffer;

        pDoc = acDocManager->mdiActiveDocument();
        long count = pDoc->GetCountOfLispList();

        if (count > 0) {
                resbuf *pRbFirst = NULL, *pRbNext = NULL, *pRbLast = NULL;
                for (long i = 0; i < count; i++) {
                        pRbNext = new resbuf;
                        pRbNext->restype = RTSTR;
                        lpPath = pDoc->GetItemOfLispList(i)->appFileName;
                        lpBuffer = new TCHAR[_tcslen(lpPath)];
                        _tcscpy(lpBuffer, lpPath);
                        pRbNext->resval.rstring = lpBuffer;

                        if (pRbFirst == NULL) {
                                pRbFirst = pRbLast = pRbNext;
                        } else {
                                pRbLast->rbnext = pRbNext;
                                pRbNext = pRbLast;
                        }
                }
                retCode = acedRetList(pRbFirst);
                acutRelRb(pRbLast);
                acutRelRb(pRbNext);
                acutRelRb(pRbFirst);
        } else {
                retCode = acedRetNil();
        }

        return retCode;
}[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 21:41 , Processed in 0.180426 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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