У меня есть HTML-страница со встроенным объектом ActiveX. Этот объект упоминается как тег OBJECT.
ActiveX обрабатывает некоторые данные внутри элемента управления, подобного списку. Мне нужно получить данные внутри этого элемента управления списком.
Я использую следующий код:
int msg;
DWORD lRes = NULL ;
IHTMLDocument2 *pDoc= NULL;
IHTMLElementCollection *pElement = NULL;
IDispatch *ppvDisp;
VARIANT ObjName;
_variant_t index = NULL;
HRESULT hr;
LRESULT lr;
UINT *cntTypeInf ;
OleInitialize(NULL);
msg = RegisterWindowMessage(L"WM_HTML_GETOBJECT");
lr = SendMessageTimeout(hwnd, msg, 0, 0, SMTO_ABORTIFHUNG, 1000, &lRes);
hr = ObjectFromLresult((LRESULT)lRes, IID_IHTMLDocument2, 0, (void**)&pDoc);
hr = pDoc->get_all( &pElement );
BSTR BStrObjName = _com_util::ConvertStringToBSTR((const char *)"S_DetectCom");
ObjName.vt = VT_BSTR ;
ObjName.bstrVal = BStrObjName ;
hr = pElement->item( ObjName , index , &ppvDisp );
hr = ppvDisp->GetTypeInfoCount(cntTypeInf);
ppvDisp - это IDispatch для объекта.
У меня есть dll и его typelib в качестве ресурса. Что я могу сделать?