2010-01-15 53 views
1

我有用C#編寫的COM對象,它是Windows任務欄(實現IDeskSite)的工具欄。我想要麼,託管的COM對象是否可以卸載或自行終止?

  1. 防止從如果某個應用程序正在運行

  2. 允許工具欄卸載自身未處理的異常的情況下,而不是允許異常導致瀏覽器加載任務欄崩潰

#1,我知道我可以使用互斥來檢查應用程序正在運行,但我不知道如何防止COM對象繼續由Explorer.exe的加載過程或如何通知過程那個e對象有錯誤,需要卸載。

+0

也許您可以讓它加載,但只有在某些應用程序正在運行時才顯示UI /工具欄。我假設UI /工具欄是在運行時創建的。 – A9S6 2010-01-15 09:23:39

+0

是的,UI是在運行時創建的。 – 2010-01-16 08:01:05

回答

0

讓我們來談談方式#1。 查看接口IClassFactory - 任何(!)COM對象都是默認創建的,或者由您的實現創建的。因此,只需以檢查是否可以創建類實例的方式實現此操作

相關問題