2016-04-08 54 views
2

我想了解集成IM客戶端與Outlook 2010中的程序以下鏈接用於此: -IM客戶端集成與Outlook

https://msdn.microsoft.com/en-us/library/office/jj900715.aspx

展望是能夠達到CreateInstance方法我的實施。

  1. 如果我安裝的Lync客戶端比控件到達GetInterfaceMethod,我在其中返回ILyncClient的對象。

此後沒有任何進展。以下錯誤顯示在Outlook調試:

MsoIMProviderFactory - HrEnsureDefaultIMAppRegKeys成功打開REG鍵(HKCU-SOFTWARE \ IM提供商)

CMsoIMProviderFactory - HrEnsureDefaultIMAppRegKeys成功查詢REG鍵(HKCU-SOFTWARE \ IM提供商,DefaultIMApp -IMapp)

CMsoIMProviderFactory - HrEnsureDefaultIMProcessRegKey成功打開REG密鑰(HKCU-SOFTWARE \ IM提供商\ IMAPP)

CMsoIMProviderFactory - HrEnsureDefaultIMProcessRegKey成功打開REG鍵(HKLM-SOFTWARE \ IM提供商\ IMAPP)

CMsoIMProviderFactory - WhichMessengerInProcessList搜索

使用(IMAPP)的進程名

CMsoIMProviderFactory - 搜索WhichMessengerInProcessList使用(IMAPP)的進程名

夥計們,請給你的就同一反饋???? ?

  1. 如果我沒有安裝Lync Client,則控件永遠不會到達身份驗證方法。

答:我們是否還需要實現IMessenger接口?

B.如果是的話請說明一下如何做到這一點?

任何解決此問題的指針都會有所幫助。

對於構建COM服務器,我們使用了進程外COM示例(CSExeCOMServer)。我也嘗試了與Outlook 2013相同的設置。在這也是輸出保持不變。

環境: -

Windows 7 Service Pack1。

展望2010 & 2013年

回答

0
  1. 你總是需要,因爲你在你的代碼中使用的接口安裝在您的電腦上的Lync被定義的Lync。如果你想刪除這個依賴項,那麼你將不得不在系統中註冊你的類型庫(.tlb)。要生成.tlb,您需要一個.idl文件,您可以在網上探索如何獲取。
  2. 如果你想成爲IM提供者,那麼你不需要實現這個IMessenger接口。但是,如果你想以傳統提供者的方式工作,你將不得不實現這個接口(這我還沒有嘗試過)。
  3. 爲了解決您的問題,我需要代碼片段來定義LyncClient類。一旦你分享,那麼我會盡力幫助你。

我能夠做到這一點在2013年Outlook 2013 & 2013年,但後來我用C#實現COM服務器的方式。