找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2064|回复: 1

[分享] 让ARX程序随CAD一起启动的方法

[复制链接]

已领礼包: 1个

财富等级: 恭喜发财

发表于 2017-5-27 08:10:01 | 显示全部楼层 |阅读模式

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

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

×
关于ARX程序随CAD一起启动加载问题困扰我一些时间了,上网查找到了一些方法,但是不知道为何在CAD2002上不行(其他的版本的CAD没试过).网上的方法是这样的:
非托管的ARX程序的加载

  非托管的ARX程序是指用C++编译的以.arx为后缀的动态链接库文件,实现方法很简单,只需在注册表中加入以下信息(示例):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\Applications\BLOCK]
"LOADCTRLS"=dword:00000002
"LOADER"="F:\ww2\ARXToolTip\Debug\BLOCK.ARX"


说明:在Applications项下创建一个以自己程序名命名的新项(如:BLOCK),然后在此新项下创建两个新键:"LOADCTRLS"和"LOADER"。它们一个是控制程序随CAD加载的方式,另一个是告诉CAD所要加载的程序的路径。
托管的ARX程序的加载

  托管的ARX程序是指由.net程序(C#,C++.net或VB.net)编译的以.dll为后缀的动态链接库文件,这种程序的加载和非托管的程序加载类似,在注册表中加入以下信息:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\Applications\BLOCK]
"LOADCTRLS"=dword:00000002
"LOADER"="F:\ww2\ARXToolTip\Debug\BLOCK.ARX"

"MANAGED"=dword:00000001


说明:和非托管的程序相比,只要多创建一个“MANAGED”键,并设为Ox01,告诉CAD这是托管程序即可。

附注:注册表键值"LoADCTRLS"控制说明,控制ARX程序的加载方式(上例中使用的是Ox02随CAD启动一起加载)

0x01:Load the application upon detection of proxy object.
   当代理对像被控知时另载相应ARX程序.

0x02:Load the application upon AutoCAD startup.
   当AutoCAD启动时加载相应ARX程序.

0x04:Load the application upon invocation of a command.
   当输入命令时加载相应ARX程序.

0x08:Load the application upon request by the user or another application.
   当有用户或别的程序请求时加载相应ARX程序.

0x10:Do not load the application.
   从不加载该应用程序.

0x20:Load the application transparently.
   显式加载该应该程序.(不知该项译法是否有误)
以上是从网络上得到的方法,可惜!我没有试用成功。为了解决随CAD启动时自动加载ARX的问题,我到注册表中的[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\Applications]处发现:CAD中的ARX的自动加载跟上面的加载是不一样的,比如CAD本身的AutoCAD 2002\acadapp.arx加载,其注册表的定义是这样的:
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\Applications\AcadApp]
"LOADCTRLS"=dword:00000002
"REGPATH"="\\HKEY_LOCAL_MACHINE\Software\Autodesk\AutoCAD\R15.0\ACAD-1:804\AutodeskApps\ACADAPP"

[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\Applications\AutodeskApps\AcadApp\Commands]
这里是空的
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\Applications\AutodeskApps\AcadApp\Groups]
"ACADAPP_GROUP" = "ACADAPP_GROUP"

[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\Applications\AutodeskApps\AcadApp\Loader]
"MODULE" = "D:\Program Files\AutoCAD 2002\acadapp.arx"

[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:804\Applications\AutodeskApps\AcadApp\Name]
"ACADAPP" = "ACADAPP"
这就是CAD本身的ARX的自动加载的注册表的设置方式。然后我仿着上面的方式对我自己的ARX进行注册表设置,最后我的ARX随CAD的启动一起加载了。
已经知道了注册表的设置方法,通过代码来实现应该说已经不难的 ,至于如何通过代码来实现,有空再说了。如果谁有更好的方法,望兄弟赐教!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 28个

财富等级: 恭喜发财

发表于 2018-6-5 12:37:11 来自手机 | 显示全部楼层
不是直接命令,ap,启动那里添加一下就行吗?然后命令op添加一个信任文件夹
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 06:27 , Processed in 0.330866 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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