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 ![](https://img-blog.csdnimg.cn/img_convert/864271a40406f0d9d9423b34af328a5b.jpeg) AcMgd键值内容 上述注册表值的含义如下: **DESCRIPTION** *描述信息* **LOADCTRLS** *确定怎样加载和何时加载程序.* 1 - 检测到代理程序就加载 2 -一起动就加载 4 - 命令运行就加载 8 -用户请求或另一应用请求即加载 16 - 不加载 32 - 显式加载 **LOADER** 指定dll加载的位置及文件的全路径名称,注意路径中的\\全部用\\\\代替 **MANAGED** 指定是.NET 程序及还是ObjectARX 文件, 1 代表 .NET 程序, 0代表ObjectARX 。 这个注册表可以自己编写安装程序自动设定!

相关推荐
专注VB编程开发20年15 天前
C#.NET模拟用户点击按钮button1.PerformClick自动化测试
开发语言·自动化测试·c#·vb.net
专注VB编程开发20年17 天前
写.NET可以指定运行SUB MAIN吗?调用任意一个里面的类时,如何先执行某段初始化代码?
开发语言·vb.net
专注VB编程开发20年18 天前
WebView2最低支持.NET frame4.5,win7系统
c#·.net·webview2·vb.net
专注VB编程开发20年18 天前
C#,VB.NET正则表达式法替换代码
正则表达式·c#·.net·vb.net
专注VB编程开发20年25 天前
Aspose.words,Aspose.cells,vb.net,c#加载许可证,生成操作选择:嵌入的资源
c#·word·.net·vb.net
rrokoko4 个月前
TIOBE 指数 12 月排行榜公布,VB.Net排行第九
编程语言·vb.net
一只小灿灿5 个月前
VB.NET 从入门到精通:开启编程进阶之路
.net·vb.net
中游鱼6 个月前
微软官方 .NET 混淆软件 Dotfuscator
microsoft·c#·.net·混淆·vb.net·dotfuscator
中游鱼6 个月前
目前最新 Reflector V11.1.0.2067版本 .NET 反编译软件
c#·.net·vb.net·.net reflector·反编译.net·最新版本
rrokoko7 个月前
TIOBE 编程指数 9 月排行榜公布 VB.Net第七
.net·vb.net