2012-03-31 43 views
3

我試圖調用從Silverlight公開的各種API,這些API只有在它們是註冊的自動化服務器的一部分時纔有可能,並且具有相應的progid。例如,單詞將是「Word.Application」。我如何獲得所有註冊的服務器與他們各自的progids列表?如何獲得所有COM自動化服務器的列表?

我發現組件服務管理單元中,但我無法找到我知道在那裏的ProgID。編輯:管理單元看起來應該在那裏,我發現一個屬性窗口,顯示一些COM +和DCOM應用程序的應用程序ID,但我找不到明顯的服務器,如Word。 COM +樹只包含六個條目。

+1

這只是不是如何工作。您需要先知道progid或CLSID,然後COM才能從註冊表中找到實現它的可執行文件。這樣做是希望你知道如何正確使用服務器,即使你不知道它的作用。這是行不通的。 – 2012-03-31 06:32:25

+0

@passant我認爲你誤解了我想知道的事情,但你仍幫助我。你在說什麼意味着在註冊表中有一個目錄。所以我應該能夠從註冊表中獲得列表,我只需要知道確切的地方。你知道更多嗎? – John 2012-03-31 17:03:44

+0

@passant啊,我想我找到了。這是註冊表中的整個HKEY_CLASSES_ROOT文件夾。這就是我想知道的。 – John 2012-03-31 17:07:19

回答

5

自動化服務器列表似乎是在HKEY_CLASSES_ROOT下的註冊表。從Silverlight中,密鑰的名稱是progid,CLDID是稱爲CLSID的子密鑰的值。

Hans Passant對我提到註冊表的問題發表了評論後,我發現了這個。

1

PrimalScript,通過Sapien的科技公司,有一個對象瀏覽器,不列出所有可用的COM對象/接口的系統上的表現非常出色。

相關問題