比如我知道一个按钮
想直接用javascript:onSubtopForm('24','1')
怎么操作呢        VARIANT vInfo;
 vInfo.vt=VT_EMPTY;
 m_e.Navigate("http://www.baidu.com",&vInfo,&vInfo,&vInfo,&vInfo);
 m_e.SetVisible(true);

 IHTMLDocument2 *ph=(IHTMLDocument2 *)m_e.GetDocument(); ph->QueryInterface(IID_IHTMLDocument2,(void**)&ph);下面写什么。

解决方案 »

  1.   

    没人回答....自己来吧IHTMLWindow2 *pw;
    ph->get_parentWindow(&pw);
    VARIANT ret;
    pw->execScript(CComBSTR("frames[0][0].onSubtopForm('24','1')"),CComBSTR("javascript"),&ret);
    pw->execScript(CComBSTR("frames[0][1][1].formsubmitcpo('2','中国联通','中国联通','信息通讯费')"),CComBSTR("javascript"),&ret);现在的问题是...如何判断网页下载完了,或者是CWebBrowser2不忙了...我要运行下一个命令,
      

  2.   

    设置连接点与WebBrowser2, DIID_DWebBrowserEvents2, 在Invoke中判断事件,DISPID_NAVIGATECOMPLETE2的时候, 记下当前参数的pDisp接口指针m_pWBDisp,在DISPID_DOCUMENTCOMPLETE事件时,判断m_pWBDisp是否与当前的pDisp相同,如果相同,表示网页下载完成, 这个判断的目的是过滤掉有些网页可能存在iframe加载 的情况.
      

  3.   

    现在这个网页是用frame加载的.我用CWebBrowser2::GetBusy() 并不能判断出它是否已下载完毕.
      

  4.   


    LPDISPATCH glpDisp = NULL;
    void CBamk2Dlg::OnDocumentCompleteExplorer1(LPDISPATCH pDisp, VARIANT FAR* URL) 
    {
    if (glpDisp && glpDisp == pDisp)
       {
           i++;
    if(b&&i==2)
    {

    b=false;
    MessageBox("asdas");
    VARIANT ret;
    pw->execScript(CComBSTR("frames[0][1][1].formsubmitcpo('2','中国联通','中国联通','信息通讯费')"),CComBSTR("javascript"),&ret);

    }


          glpDisp = NULL;
       }
    }void CBamk2Dlg::OnNavigateComplete2Explorer1(LPDISPATCH pDisp, VARIANT FAR* URL) 
    {

    if (!glpDisp)
          glpDisp = pDisp;

    }接着自己来。下面的问题是我要往一个输入框里输入数字,如何操作呢