网页是我用CWebBrowser2加载的,上面有两个下拉列表.和一个Button.
我如何能在用户按下button的时候,取得那两个combo box 选的值.如果截获那个button 事件我已经能处理了.
现在问题是,我不想去监视那两个combo的变化,只想在其按下button时,知道那两个值.

解决方案 »

  1.   

    我是LZ:我用的方法如下: // m_WebBrowser is an instance of IWebBrowser2
    MSHTML::IHTMLDocument2Ptr spDoc(m_webBrowser.GetDocument());
    COleVariant vtResult; if (spDoc)
    {
    IDispatchPtr spDisp(spDoc->GetScript());
    if (spDisp)
    {
    // Evaluate is the name of the script function.
    OLECHAR FAR* szMember = L"evaluate";
    DISPID dispid; HRESULT hr = spDisp->GetIDsOfNames(IID_NULL, &szMember, 1,
    LOCALE_SYSTEM_DEFAULT, &dispid); if (SUCCEEDED(hr))
    {

    static BYTE parms[] = VTS_BSTR; COleDispatchDriver dispDriver(spDisp, FALSE); dispDriver.InvokeHelper(dispid, DISPATCH_METHOD, VT_VARIANT,
    (void*)&vtResult, parms,
    "5+Math.sin(9)");
    }
    }
    } CString strMy;  /* =   (LPCSTR)vtResult.bstrVal;*/ vtResult.ChangeType(VT_BSTR);
    strMy=vtResult.bstrVal;  AfxMessageBox(strMy);