ActiveX オブジェクトが埋め込まれた HTML ページがあります。このオブジェクトは、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 をリソースとして持っています。私に何ができる?