AutoCAD.NET自动加载自己开发的程序集dll

版权声明:本站所有文章均为博主原创,转载时请务必注明出处!商务合作www.xiecan.cc/QQ492384481 https://blog.csdn.net/u011170962/article/details/38023089

自动加载.NET开发的DLL程序库需要修改注册表信息HKEY LOCAL_ MACHINE下的AutoCAD相应版本下的Application项下创建一个新项里而设以下四个键值:

"DESCRIPTION"(应用程序描述)

"LOADC丁RLS"(加载控制一控制程序随CAD加载的方式,设为0x02随CAD启动一起加载)

"LOADER"(应用程序路径)

"MANAG ED"(程序形式一设为0x01,告诉CAD这是托管程序)

注:
1、具体各版木对应的注册表信息见附录。
2、注册表键值”LOADCTRLS',控制说明,控制ARX程序的加载方式
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.显式加载该应该程序.


1.注册表文件实现方法:


 
 
  1. Windows Registry Editor Version 5.00
  2. [ HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R18.0\ACAD-8001:804\Applications\XXX]
  3. "DESCRIPTION"= "MyDll"
  4. "LOADCTRLS"=dword: 00000014
  5. "LOADER"= "X:\\XXX.dII"
  6. "MANAGED"=dword: 00000001
把以上文木复制到一个文木文件中,再把扩展名改为reg运行后,启动AutoCAD应用程序就会自动加载”X:\\XXX.dII',应用程序。


2.C#程序实现方法:


 
 
  1. private static void AutoLoad(string dname, string desc, string dpath)
  2. {
  3. RegistryKey LocaIMachine=Registry.LocaIMachine;
  4. RegistryKey Applications=
  5. LocaIMachine.OpenSubKey( "SOFTWARE\\Autodesk\\AutoCAD\\R18.0\\ACAD-8001:804\\Applications", true);
  6. RegistryKey MyPrograrm=Applications. CreateSu bKey(dname);
  7. MyPrograrm.SetValue( "DESCRIPTION", desc, RegistryValueKind.String);
  8. MyPrograrm.SetValue( "LOADCTRLS", 14, RegistryValueKind.DWord);
  9. MyPrograrm.SetValue( "LOADER", dpath, RegistryValueKind.String);
  10. MyPrograrm.SetValue( "MANAGED", 1, RegistryValueKind.DWord);
  11. }
注:需要引用Microsoft.Win32命名空间。


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值