-1
是否有任何「高級」方法枚舉C#中註冊的COM服務器?如何枚舉已註冊的COM服務器
我想避免直接訪問註冊表,也喜歡得到某種「物」至少包含名單的下列信息:
- 服務器名稱(人類可讀的標識)
- CLSID又名GUID
- 版本
- 服務器路徑和文件名基於
是否有任何「高級」方法枚舉C#中註冊的COM服務器?如何枚舉已註冊的COM服務器
我想避免直接訪問註冊表,也喜歡得到某種「物」至少包含名單的下列信息:
您跟進評論,你可能正在尋找Component Categories,它允許COM對象聲明它們的對象的「種類」。 COM有ICatInformation接口,它可以讓你enumerate categories和also to enumerate classes that implement a particular category。
即使你不喜歡這個問題,也請不要猶豫留下評論。謝謝! – sharpener
爲什麼?只要知道CLSID(並能夠創建對象)不會爲你帶來什麼。 –
讓我們擁有第三方COM組件,您可能想在應用程序中動態引用它們。你不知道他們全部。您向用戶提供一個列表,他選擇一個組件,並讓您知道他選擇了哪種組件(他認爲)。它由你來檢測組件,提供你知道的和用戶輸入的類型相匹配的界面。當您將「靜態」引用添加到項目時,Visual Studio中使用相同的方法。 – sharpener