四时宝库

程序员的知识宝库

vb.net&cad二开自学笔记4:net程序的自动加载

开发好的netapp插件可用以下方法,实现跟随CAD的启动自动加载!

一、autolisp法

(1)启动组:创建xxx.lsp程序其中用(command "netload" 你的netapp.dll完整路径),注意路径中的\用\\代替,然后在cad中用appload命令在启动组中加载xxx.lsp

(2)修改acad.lsp或acaddoc.lsp文件内容:

(defun S::STARTUP() ;函数名不可以改变,在其内添加(command "netload" 你的netapp.dll完整路径),为了避免多个插件自动启动的冲突,可使用append函数追加命令,示例代码如下:

(defun-q MYSTARTUP ( )

... your startup function ...

)

(setq S::STARTUP (append S::STARTUP MYSTARTUP))

上面的代码把启动函数附加到现有的 S::STARTUP 函数中,然后重定义 S::STARTUP 函数以包含该启动代码。不管以前的 S::STARTUP 函数是否存在,它都可以正常工作。

二、注册表法

1. 运行regedit命令打开注册表。

2. 找到如下路径:

[计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R24.3\ACAD-7101\Applications\AcMgd],亦可以在注册表编辑器中搜索AcMgd

4.搜索到后一般能看到AcMgd项内应包含四个键值,项内若为空白则可手工添加如下几个值如图:

"DESCRIPTION"=".NET Managed Layer"

"LOADCTRLS"=dword:00000002

"LOADER"="C:\\Users\\Administrator\\source\\repos\\MyCADNet\\bin\\Debug\\MyCADNet.dll"

"MANAGED"=dword:00000001


上述注册表值的含义如下:

DESCRIPTION

描述信息

LOADCTRLS

确定怎样加载和何时加载程序.

1 - 检测到代理程序就加载

2 -一起动就加载

4 - 命令运行就加载

8 -用户请求或另一应用请求即加载

16 - 不加载

32 - 显式加载

LOADER

指定dll加载的位置及文件的全路径名称,注意路径中的\全部用\\代替

MANAGED

指定是.NET 程序及还是ObjectARX 文件, 1 代表 .NET 程序, 0代表ObjectARX 。

这个注册表可以自己编写安装程序自动设定!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接