2013-08-16 27 views
0

我遇到了問題,即我的Outlook加載項未在進程主線程中運行。這至少適用於一些回調,也許更多,我仍在調查。這是一個很大的問題,因爲幾個重要的API函數只能在主線程中使用。爲什麼我的Outlook加載項沒有在主線程中運行?

這種情況只發生在客戶的計算機(Win8 + Outlook2013 64位)上,但不在具有相同Windows/Outlook版本的計算機上。

我從來沒有見過這個。

任何想法可能會觸發這一點? Office中的任何隱藏設置,任何第三方安全工具? 我可以用來防止它的任何構建設置?

+0

更新:即使是第一次初始化調用不是來自主線程。 – user178379

回答

0

Outlook始終在主線程上運行COM加載項。 究竟是什麼讓你認爲你在輔助線程上運行?問題究竟如何體現?

+0

我使用[本頁]的「解決方案1」(http://www.codeproject.com/Questions/78801/How-to-get-the-main-thread-ID-of-a-process-known-known -b)獲取進程的主線程ID並將其與GetCurrentThreadId()進行比較。在我的電腦上它們是相同的。在客戶的電腦上,他們是不同的。 – user178379

+0

因此,Outlook可以在啓動其主UI線程之前啓動其他線程。再次,爲什麼這很重要?你正試圖解決什麼問題? –

+0

許多GUI功能只能在主線程中使用。我的DLL不在主線程中運行,因此它們不起作用,導致很多問題。 AfxGetMainWnd()只是一個例子。 – user178379

相關問題