COM加载项是可以用于Office 2013的动态连接库(.Dll)。
COM加载项被明确注册为要通过Office 2013应用程序来加载。因为COM加载项被设计为DLL,所以它们可以在与主控程序相同的进程中运行。
进程内加载项的好处是,可以有效访问主控程序的对象模型,这使得加载项可以快速地调用方法和属性或接收来自主控程序的事件。
三个测试问题来帮助你决定是否需要创建COM加载项:(以Outlook为例)
◆在没有运行Outlook客户程序时,你需要接收事件吗?COM加载项的生存期是由Outlook控制的。当Outlook没有运行时,COM加载项不会运行。
◆性能是我们的应用程序的大问题吗?如果是,应该采用COM加载项,因为它被加载到Outlook进程中。但是注意不要再启动时执行大量查阅或数据检索。
◆你的应用程序是事件驱动的吗?
只有在正确注册了Office相应应用程序的内部COM插件时,才能被Office应用程序加载上。
通常,您需要在注册表中创建以下键值:
HKEY_CURRENT_USER\Software\Microsoft\Office\
其中,TheOfficeApp表示相应程序名,如:Word、Outlook等,ProgID表示内部COM插件程序的唯一标识符的字符串表示形式,如:Outlook2000Addin.Addin等。
如果您希望确保我们的加载项总是被加载,并且每一位用户都可以访问它,那么您必须将加载项的ProgID注册到
\HKLM\Software\Microsoft\Office\Outlook\AddIns 键下。\HKLM\Software\Microsoft\Office\Outlook\AddIns 键下。
如果您希望用户自己选择是否加载它,那么您可以将加载项的ProgID注册到
\HKCU\Software\Microsoft\Office\Outlook\AddIns 键下。\HKCU\Software\Microsoft\Office\Outlook\AddIns 键下。
写入键中的信息包括下面的名称/值对:
Description(描述): 一个字符串,提供了COM加载项的简短描述。
FriendlyName(友好名称):一个字符串,是在“COM加载项”对话框中显示的名称。
LoadBehavior(加载行为):一个整数的DWORD类型,指定COM加载项的加载方式。
0表示断开、1表示连接、2表示启动时加载、
8表示需要时加载、16表示首次连接。 8表示需要时加载、16表示首次连接。
你可以组合不同值来创建不同类型的加载顺序。
如,指定3表示启动和连接时加载(即3=1+2)。如,指定3表示启动和连接时加载(即3=1+2)。
3.2.信任COM加载项
通过设置下面的注册表键下的DWORD值DontTrustInstalledFiles,您可以指定是否信任机器上安装的所有COM加载项:
HKCU\Software\Microsoft\Office\9.0\Outlook\SecurityHKCU\Software\Microsoft\Office\9.0\Outlook\Security
通过将DontTrustInstalledFiles指定为0,您可以指定Outlook信任安装的所有加载项。值1则指定不信任所有的加载项。