如何以编程方式告知安装了哪些Outlook加载项,以及是否启用了这些加载项?

如何以编程方式告知安装了哪些Outlook加载项,以及是否启用了这些加载项?,outlook,outlook-addin,outlook-2007,outlook-2010,Outlook,Outlook Addin,Outlook 2007,Outlook 2010,如何确定安装了哪些Outlook COM或PIA加载项,以及它们是否已启用 如何获取此信息以及文件版本?(1)如果要从另一个Outlook加载项中访问此信息,可以使用Application.ComAddins对象(例如,它的Count属性提供已安装加载项的数量)。您可以循环此集合,并检查单个COMAddin对象的LoadBehavior属性,直到现在,如果它们正在加载或已禁用 (2)如果你想从Outlook外部访问信息,你可以考虑在微软\ Office \ Outlook \ Advin键下读取

如何确定安装了哪些Outlook COM或PIA加载项,以及它们是否已启用

如何获取此信息以及文件版本?

(1)如果要从另一个Outlook加载项中访问此信息,可以使用Application.ComAddins对象(例如,它的Count属性提供已安装加载项的数量)。您可以循环此集合,并检查单个COMAddin对象的LoadBehavior属性,直到现在,如果它们正在加载或已禁用

(2)如果你想从Outlook外部访问信息,你可以考虑在微软\ Office \ Outlook \ Advin键下读取适当的注册表项。< /P> (3) 请注意,您根本无法信任此信息,因为可以为单个用户或所有用户安装Office加载项。因此,您无法完全访问已安装的加载项,而只能通过读取HKLM下的(a)键和HKCU下的(b)键来访问运行您的应用程序/您的过程的当前用户。Application.COMAddins对象将两种信息混合在一起显示


(4) 我不记得COMAddin对象或注册表中有版本号。要访问它,您必须读取注册表以查找外接程序的文件或程序集,并访问文件版本。请注意,使用Visual Basic 6或其他语言编写的“旧”COM加载项除了VSTO加载项或基于加载项Express工具的加载项之外,还有其他注册表项。

您甚至可以从outlook外部访问该信息

    Dim count As Integer
    Dim app As New Outlook.Application

    count = app.COMAddIns.Count

    For i = 1 To count

        MsgBox(app.COMAddIns.Item(0).Description)

    Next

要确定哪些已安装的加载项处于活动状态(已启用/已加载),请执行以下操作:

要按名称检查特定外接程序的状态,请执行以下操作:

Dim app As New Outlook.Application
Dim addinName As String = "ADD-IN NAME"
Dim loaded As Boolean = app.COMAddIns.Item(addinName).Connect
MsgBox(addinName & ": " & loaded)
Dim app As New Outlook.Application
Dim addinName As String = "ADD-IN NAME"
Dim loaded As Boolean = app.COMAddIns.Item(addinName).Connect
MsgBox(addinName & ": " & loaded)