蔷薇525 发表于 2015-9-13 12:43:06

用C#开发Outlook地址本(一)

近日修改一个Outlook地址本,拿到源码的时候看着很头痛,因为代码风格比较差,而且注释也是莫名奇妙,好不容易改完了,还不知道怎么样加载成为Outlook的AddIn,Outlook竟然报错,没办法,只好自己开发,不知道能不能做好,have a try吧。


任务:开发一个插件,实现Outlook地址本功能。联系人从Active Directory服务器中读取,在地址本中实现联系人显示按照职位排序,最后再提供一个地址本查询功能。


2005年7月18日:
实现在Outlook中加载按钮

一、在C#中创建COM AddIns项目
见MSDN: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/ol03csharp.asp

1、为什么要在OnConnection中显示调用:


1 if(connectMode != Extensibility.ext_ConnectMode.ext_cm_Startup)
2 {
3       OnStartupComplete(ref custom);
4 }
先简单介绍一下Extensibility.ext_ConnectMode枚举:


1 public enum ext_ConnectMode
2 {
3   // Add-in loaded after host.
4   ext_cm_AfterStartup = 0;   
5   // Add-in loaded from command line.
6   ext_cm_CommandLine = 3;   
7   // Add-in loaded indirectly from host.
8   ext_cm_External = 2;      
9   // Add-in loaded by a VS.NET solution which required it.
10   ext_cm_Solution = 4;      
11   // Loaded when host starts-up.
12   ext_cm_Startup = 1;
13   // Loaded for very first time after installed.
14   ext_cm_UISetup = 5;
15 }
16
17
若COM AddIn不是由host(Outlook)在启动时加载的,就必须在OnConnect函数里面显示的调用OnStartupComplete函数。若示启动时加载的,OnStartupComplete函数会由host自动调用。
页: [1]
查看完整版本: 用C#开发Outlook地址本(一)