Autodesk Inventor Customization
- Start Article
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
Deactivate add-in with vba or vb.net
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Hello together,
how can I deactivate an add-in with vba or vb.net?
Thank you
Georg
Solved! Go to Solution.
Re: Deactivate add-in with vba or vb.net
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Hi Georg,
Here a VB.Net example with iLogic:
First, I create a module for the ItemByName extension (if you don't familiar with extension, read about it, it's a nice way of programming).
Public Module InventorExtensions
<Extension()> _
Function ItemByName(applicationAddIns As Inventor.ApplicationAddIns, displayName As String) As Inventor.ApplicationAddIn
For Each i As Inventor.ApplicationAddIn In applicationAddIns
If i.DisplayName = displayName Then
Return i
End If
Next
Return Nothing
End Function
End Module
Next, add this to your method:
Dim inventorApplication as Inventor.Application = System.Runtime.InteropServices.Marshal.GetActiveObject("Inventor.Application") Dim iLogic as Inventor.ApplicationAddIn = InventorApplication.ApplicationAddIns.ItemByName(" iLogic") iLogic.Deactivate
Give me feedback if it's what you need.
Pascal
Re: Deactivate add-in with vba or vb.net
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
I forgot this line of code:
Imports InventorExtensions
Put this on the top of your document where your method is.
Pascal
Re: Deactivate add-in with vba or vb.net
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Hello Pascal,
thank you very much.
Georg
Re: Deactivate add-in with vba or vb.net
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Hi Georg,
To turn off addins before invetor starts, you need to fettle with the registry entries. To do this, you need to create a new class and add the following code:
Imports Microsoft.Win32
Public Class RegistryEntry
Public Sub ChangeRegistryKey(ByVal strMainKey As String, ByVal StrOn As String)
'MessageBox.Show("CLSID\{" & strMainKey & "}\Settings", "")
Dim Autoshell As RegistryKey = My.Computer.Registry.ClassesRoot.OpenSubKey("CLSID
If Autoshell Is Nothing Then
'Registy key does not exit - do nothing
Else
Autoshell.SetValue("LoadOnStartUp", StrOn)
Autoshell.Close()
End If
End Sub
End Class
Then you need to find the registry key you want to change - a simple search through the registry for the name of the addin will get this.
Then, add the following lines of code to your program before you start inventor:
Dim AssemblyBonusTools As New RegistryEntry
AssemblyBonusTools.ChangeRegistryKey("0BB5AE99-15A
The 0/1 element is a string I believe, but don't quote me on this.
Don't forget to turn any addins back on again once you've finished.
Hope this is of some use to you.
Jon
If this post helps you, please give kudos.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

