2009-04-21 42 views
0

創建VSTO Outlook AddIn時,有一些限制令人煩惱。例如,如果您由於點擊郵件鏈接而啓動Outlook,則由於安全原因,不會加載插件。創建Outlook AddIns的不同方法

有沒有辦法來覆蓋這種行爲?也許在不使用VSTO的情況下創建Addin的另一種方法是?如果我記得正確的話,有些方法可以通過使用一些不同的技術來創建Addins,然後是VSTO,但是哪一個和哪些區別?

回答

1

創建加載項的方法有較老,更痛苦的方法,但我不相信它們能夠解決您的問題。我看到並使用的解決方案是檢測您是否可以獲得ActiveExplorer,如果沒有,請告訴用戶正常啓動程序。

在Codeplex上的Outlook附件提醒源的源代碼中可以看到這樣做的一個示例。

http://www.codeplex.com/OAR/Release/ProjectReleases.aspx?ReleaseId=22094

0

宏是另一種方式......

以上從Codeplex上使用VSTO。

正如凱文提到,我們需要弄清楚爲什麼沒有加載加載項...在加載項以上,菜單中創建每次有; S積極的探險家......

+0

據我所知,由於Microsoft安全限制,Addin未加載。您使用惡意插件感染PC的圖像,讓用戶點擊郵件鏈接即可立即打開Outlook。蘋果的Addin將被加載並做任何它應該做的事情。爲防止Outlook自動加載潛在的惡意代碼,只有在用戶明確打開Outlook時才加載加載項。至少我認爲我已經讀過這個地方... – Marcus

+0

這不是沒有加載插件的原因。 Mailto:是一個直接的MAPI子系統調用。 MAPI調用默認郵件客戶端(Outlook)並告訴它創建郵件項目。如果這是一個安全問題,你會得到一個安全提示,而你沒有。 –

1

錯誤。 Mailto鏈接在操作系統封面下使用調用Outlook的不同方法。 Mailto通過OS調用直接調用MAPI子系統,然後觸發Outlook(因爲它將是默認的MAPI客戶端)。

當您在Outlook中使用「新建」按鈕時,使用Outlook OM代碼和外掛程序已加載。

這裏的關鍵區別很簡單 - Outlook已經加載。 您仍然可以使用VSTO來定位這種情況,您只需確保在啓動時加載。如果您僅在消息(活動Inspector「已添加」)時添加VSTO組件,那麼對於這種情況來說就太遲了。你確定你的插件設置爲在啓動時加載嗎?