日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Outlook Add-in(COM加載項)技術指南(二)

系統 2615 0

Outlook Add-in (COM 加載項 )

技術指南

?

2 COM 加載項的開發過程

摘要 :本章節詳細介紹了 Outlook Add-in 插件的開發過程。

?

2.1. 開發 COM 加載項

VB 中,首先需要引用“ Microsoft ? Add-in Designer ”類型庫,該庫包含了一些 COM 加載項必需的界面。

其次 Visual Basic 需要 Implements IDTExtensibility 2

?

更多信息

一個 Office2000 下的內部 COM 插件必須實現一個 _IDTExtensibility2 派發接口。

_IDTExtensibility2 派發接口被定義在 MSADDin Designer 類型庫 (MSADDNDR.dll/MSADDNDR.tlb) 中,它通常位于 < 盤符 >/Program Files/Common Files/Designer 下。

_IDTExtensibility2 接口中必須實現下面五個接口事件函數 ( 一般只需編寫 OnConnection OnDisconnection 中代碼 )

2.1.1 . IDTExtensibility2 事件背景知識

I DTExtensibility2 提供了 5 個將用于 COM 加載項的事件:

? ???????? OnConnection ??? ? ? 裝載插件到內存時處理 ( 可以通過自動化在程序啟動時自動裝載插件 )

? ???????? OnDisconnection ?? 從內存中缷載插件時處理。

? ???????? OnStartupComplete 當應用程序啟動時插件剛裝載完成時處理。

? ???????? OnBeginShutdown ? 當應用程序關閉時插件剛缷載完成時處理。

? ???????? OnAddInsUpdate ? ?? COM 插件改變時處理。

下面我們一一介紹這些事件:

?

2.1.1 .1. OnConnection 事件

當第一次加載或者連接加載項時,例如 Outlook 啟動時,或者當用戶選擇加載 COM 加載項時,將調用 OnConnection 事件。

OnConnection 事件是獲取或存儲稍候將要在代碼中使用的 Outlook Application 隊形最好的地方。

當發生 OnConnection 事件,將傳遞以下四個參數:

Application 參數:是 Outlook Application 的引用。

ConnectMode 參數: COM 加載項的加載方式。可以是以下常量中的一種: ext_cm_AfterStartup,ext_cm_CommandLine,ext_cm_External 或者 ext_cm_Startup 。當 Outlook 啟動時連接我們的加載項,這個參數被設置為 ext_cm_Startup

AddInInst 參數:傳遞引用 COM 加載項當前實例的對象。

Custom() 參數:一個 Variant 數據類型的陣列,可以存儲用戶定義的加載項數。對于 Office2000 加載項,本參數忽略。

?

2.1.1 .2. OnDisconnection 事件

COM 加載項與應用程序斷開連接時,將發生 OnDisconnection 事件。

當發生 OnDisconnection 事件,將傳遞以下兩個參數:

RemoveMode 參數:指定加載項的斷開方式,它可以被設置為以下常量: ext_dm_HostShutdown ext_dm_UserClosed 。顧名思義, ext_dm_HostShutdown 表示加載項通過關閉主機來斷開; ext_dm_UserClosed 表示用戶在 “COM 加載項 對話框中取消選中加載項的復選框或加載項的 Connect 屬性被設置為 False 時斷開加載項。

Custom() 參數:一個 Variant 數據類型的陣列,可以存儲用戶定義的加載項數。對于 Office2000 加載項,本參數忽略。

可以使用 OnDisconnection 事件來恢復對應用程序所做的更改,或者執行常規的應用程序來清理操作。

確保撤銷您創建的所有檢測對象,因為如果這些對象仍舊存在,那么 Outlook 將無法正常關閉。

?

2.1.1 .3. OnStartupComplete 事件

對于在啟動主控應用程序時連接 COM 加載項的情況,當主機完成所有的啟動例程時,將觸發 OnStartupComplete 事件。如果用戶在加載應用程序后從 “COM 加載項 選擇加載項時,不會發生 OnStartupComplete 事件。在這種情況下,將發生 OnConnection 事件。

該事件過程是將一些全局和本地變量設置為與它們相應的 Outlook 對象的好地方。

?

2.1.1 .4. OnBeginShutdown 事件

當應用程序將要關閉并且在 OnDisconnection 事件之前調用時,將觸發 OnBeginShutdown 事件。甚至在觸發 OnBeginShutdown 事件之后,您仍然完全可以訪問 Outlook 對象模型,因此您可以卸載對象之前保存注冊表或者文件的設置,也可以保存對您的對象所做的修改。

?

2.1.1 .5. OnAddInsUpdate 事件

當更新 COM 加載項的列表時,將觸發 OnAddInsUpdate 事件。可以使用本事件來確保您的加載項所以來的其他加載項是連接的。

?

2.1.2 . 我們實現的 IDTExtensibility2 事件

2.1.2 .1. IDTExtensibility2_OnConnection 事件

OnConnection 事件中,我們預先讀取注冊表,把默認參數讀出來。

同時,通過調用

Set g_oApplication = Application

得到整個模型的根對象。

?

?

Disclaimers

Programmer’s Blog List

博客堂

小氣的神

飛鷹手記 ? 飛鷹手記之 .NET 專版

蟈蟈俊

思歸

[MVPLeader] Grace Zhang

豆腐

跟隨大象的舞步

Don Box's Blog

Eric.Weblog()

The .NET Guy

Blogs@asp.net

?

本文檔僅供參考。本文檔所包含的信息代表了在發布之日, zhengyun 對所討論問題的當前看法, zhengyun 不保證所給信息在發布之日以后的準確性。

用戶應清楚本文檔的準確性及其使用可能帶來的全部風險。可以復制和傳播 本文檔 ,但須遵守以下條款:

  1. 復制時不得修改原文,復制內容須包含所有頁
  2. 所有副本均須含有 zhengyun 的版權聲明以及所提供的其它聲明
  3. 不得以贏利為目的對本文檔進行傳播




Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=12755


Outlook Add-in(COM加載項)技術指南(二)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 印江| 会理县| 大新县| 苗栗县| 上杭县| 辽阳县| 海淀区| 蒙城县| 安达市| 洞口县| 鄄城县| 玉田县| 客服| 广安市| 江安县| 台东县| 尼木县| 新宾| 连州市| 镇雄县| 芜湖县| 凤阳县| 卓资县| 沙洋县| 贵溪市| 新沂市| 灵丘县| 尼木县| 轮台县| 长宁县| 连江县| 古浪县| 永福县| 钟山县| 常德市| 本溪市| 临清市| 响水县| 广德县| 定陶县| 宁强县|