4
A
回答
4
我通常使用OLEview檢查的COM/ActiveX個人電腦上的對象,因爲它也讓我inspect the interfaces由對象公開。
程序化方法已由Jeff Attwood on stackoverflow發佈。
3
試試這個ActiveXHelper
0
//Initialise COM libraries
CoInitialize (NULL);
//The Component Category Manager implemented by System implements
//this interface
ICatInformation *pCatInfo=NULL;
//Create an instance of standard Component Category Manager
HRESULT hr=CoCreateInstance (CLSID_StdComponentCategoriesMgr ,
NULL,
CLSCTX_INPROC_SERVER,
IID_ICatInformation ,
(void **)&pCatInfo);
//Increase ref count on interface
pCatInfo->AddRef();
//IEnumGUID interface provides enumerator for enumerating through
//the collection of COM objects
IEnumGUID *pEnumGUID=NULL;
//We are intersted in finding out only controls so put CATID_Control
//in the array
CATID pcatidImpl[1];
CATID pcatidReqd[1];
// Want only my Plugin Category
pcatidImpl[0]=CATID_MyPlugin;
pcatidReqd[1]=CATID_MyPlugin;
// Want all Active X Control
//pcatidImpl[0]=CATID_Control;
//Now enumerate the classes i.e. COM objects of this type.
pCatInfo->EnumClassesOfCategories (1,
pcatidImpl,
0,
pcatidReqd ,
&pEnumGUID);
//Enumerate as long as you get S_OK
CLSID clsid;
while((hr= pEnumGUID->Next(1, &clsid, NULL))==S_OK)
{
BSTR bstrClassName; //Get the information of class
//This is what MSDN says about the parameters
/*-----------------------------------------------
USERCLASSTYPE_FULL The full type name of the class.
USERCLASSTYPE_SHORT A short name (maximum of 15 characters) that
is used for popup menus and the Links dialog
box.
USERCLASSTYPE_APPNAME The name of the application servicing the class
and is used in the Result text in dialog boxes.
-----------------------------------------------*/
OleRegGetUserType (clsid,USERCLASSTYPE_FULL,&bstrClassName);
CString strControlName(bstrClassName);
//Add string in our listbox
m_list1.AddString (strControlName);
}
//we are done so now release the interface ptr
pCatInfo->Release();
CoUninitialize();
相關問題
- 1. 如何列出所有已安裝的ActiveX控件?
- 2. IE上沒有出現ActiveX控件
- 3. 如何替換現有的ActiveX控件?
- 4. 從exe導出ActiveX控件
- 5. 如何列出grails插件的所有控制器/服務
- 6. 如何在Firefox中啓用ActiveX控件?
- 7. 如何設置ActiveX控件名稱
- 8. 如何從ActiveX控件在IE
- 9. 如何訪問MFC中的ActiveX控件?
- 10. 如何從URL初始化ActiveX控件?
- 11. 如何調試ActiveX控件的加載
- 12. 如何使用Chrome Frame ActiveX控件
- 13. 如何在ASP.NET中使用ActiveX控件
- 14. 如何在PowerPoint中嵌入ActiveX控件
- 15. 如何自動化ActiveX控件UI
- 16. 如何將MFC ActiveX控件添加到現有的activex項目中
- 17. 替代ActiveX控件
- 18. ActiveX控件入門
- 19. flash activex控件64bit
- 20. 將VB 6.0 ActiveX控件遷移到MFC ActiveX控件
- 21. 從網頁上的其他ActiveX控件使用ActiveX控件
- 22. 替代VB6 ActiveX控件 - 基於Silverlight或.NET的ActiveX控件
- 23. activex控件和activex對象有什麼區別?
- 24. 查找ActiveX組件的所有屬性
- 25. 具有多個類的ActiveX控件
- 26. 繼承現有的ActiveX控件
- 27. ActiveX控件沒有正確顯示
- 28. VB6 - 用戶控件/ ActiveX控件 - 如何獲得父級維度
- 29. 如何在WebBrowser控件中創建ActiveX控件
- 30. 如何在codeigniter中列出所有控制器類名稱?