Vb.net 如何通过自定义菜单从AutoCAD中的DLL调用函数?

Vb.net 如何通过自定义菜单从AutoCAD中的DLL调用函数?,vb.net,autocad-plugin,Vb.net,Autocad Plugin,在AutoCAD中,我学习了如何通过使用以下宏生成命令,通过自定义用户界面生成自定义菜单项: 选择创建的自定义菜单后,将启动“安全-未签名的可执行文件”对话框: 如何编写命令,在选择自定义菜单并选择[Load Once]后,调用DLL中的函数 这可能吗?一种绕过它的方法是在注册表中进行一些调整 通过在Windows搜索中键入“RegEdit”打开注册表编辑器。导航到以下键(我正在使用AutoCAD 2015,因此请查找您正在使用的版本) 下面是一些关于使用AutoLisp从dll自动运行命令

在AutoCAD中,我学习了如何通过使用以下宏生成命令,通过自定义用户界面生成自定义菜单项:

选择创建的自定义菜单后,将启动“安全-未签名的可执行文件”对话框:

如何编写命令,在选择自定义菜单并选择[Load Once]后,调用DLL中的函数


这可能吗?

一种绕过它的方法是在注册表中进行一些调整

通过在Windows搜索中键入“RegEdit”打开注册表编辑器。导航到以下键(我正在使用AutoCAD 2015,因此请查找您正在使用的版本)

下面是一些关于使用AutoLisp从dll自动运行命令的介绍


希望有帮助。

在我的VB.NET代码中,我在要调用的函数之前添加了一个命令属性

<CommandMethod("DOSOMETHING", CommandFlags.UsePickSet)>
Public Sub DoSomething()
...
...
End Sub

我不知道这是否是最佳方法,但我找到了一种解决此问题的方法,但结果的行为正是我想要的。

我改变了主意,以编程方式选择[Load Once]。这可能是(道德上)错误的,因为这应该是用户的选择。所以,我要划掉这一条,改变我的问题。
(COMMAND "NETLOAD" "C:\\ABC\\VbXyz.dll")
(COMMAND "MyCommandToRun")
<CommandMethod("DOSOMETHING", CommandFlags.UsePickSet)>
Public Sub DoSomething()
...
...
End Sub
^C^C^P(command "_netload" "C:/ABC/VbXyz.dll");(command "DOSOMETHING")