0

CAxWindow m_wndIE;

 

BOOL GetValue(ATL::CString& strValue)
{
 if(!m_wndIE)
  m_wndIE = GetDlgItem(IDC_EXPLORER_SET);

 CComPtr<IWebBrowser2> pWB2;
 HRESULT hr = m_wndIE.QueryControl( &pWB2 );

 if(pWB2) 
 {
  CComPtr <IDispatch> pdispDoc; 
  pWB2->get_Document(&pdispDoc);

  if(!pdispDoc)
   return FALSE;

  CComPtr<IHTMLDocument3> pDoc;
  hr = pdispDoc->QueryInterface(IID_IHTMLDocument3, (void**)&pDoc);
  if (SUCCEEDED(hr))
  {
   CComPtr<IHTMLElement> pElem;
   hr = pDoc->getElementById(CComBSTR(L"returnvalue"), &pElem);

   if(FAILED(hr))
    return FALSE;
   VARIANT varValue;
   hr = pElem->getAttribute(CComBSTR(L"value"), 0, &varValue);
   if(FAILED(hr))
    return FALSE;

   if(varValue.vt != VT_NULL && varValue.vt != VT_EMPTY && varValue.vt == VT_BSTR)
   {
    strValue= varValue.bstrVal;
   }
  }
 }
 return TRUE;
}

 

其中 retrunvalue 为要取的元素的 id


http://blog.163.com/john_disk/blog/static/4763093920120510232992/

关闭 返回顶部
联系我们
Copyright © 2011. 聚财吧. All rights reserved.