VC/MFC 操作网页元素/动态改变网页控件状态

来源:互联网 发布:信息与软件工程学院 编辑:程序博客网 时间:2024/06/05 18:10

VC++6.0/VS2008/VS2010:创建一个对话框窗体 ,右键窗体添加ActiveX控件 找到"Microsoft Web浏览器",给控件定义一个变量。

 

 

显示一个网页  变量.Navigate("http://xxxxx",NULL,NULL,NULL,NULL);

 

 

[code=cpp]

HRESULT hr;
 IDispatch *pDisp;
 pDisp=m_web.GetDocument();//获取控件文档接口
 IHTMLDocument2 *pdoc;
 hr=pDisp->QueryInterface(IID_IHTMLDocument2,(void**)&pdoc);

 

[/code]

 

IHTMLElementCollection *pColl=NULL;
  hr=pdoc->get_all(&pColl);// get_all()通过文档接口获取网页元素

 

IDispatch *pDisp2;
     VARIANT varIndex;
     varIndex.vt = VT_UINT;
     varIndex.lVal = i;//i控件的位置     

 

     VARIANT varID;
     varID=stringToVariant(_T("UserNo"));//控件的ID

     hr=pColl->item(varID, varIndex,&pDisp2);// 获取指定ID控件的位置

 

 IHTMLElement *pElem=NULL;
      hr=pDisp2->QueryInterface(IID_IHTMLElement,(void**)&pElem);//调用QueryInterface获取控件元素接口
     

 

 

然后对自己想操作的类型 进行一下操作

 

控件类型 TEXT

//HRESULT IHTMLElement :: put_innerText(bstr v);//用此函数对文本控件写内容

 

IHTMLElement*pelem=NULL;

省略N个字..

 pelem->put_innerText(传入想写入的字符串);

 

 

类型BUTTON  RADIO SUBMIT CHECKBOX

HRESULT click();//用此函数点击

IHTMLement * pElem=NULL;

省略N个字..

pElem->click();

 

 

 

类型 SELECT

HRESULT put_SelectionIndex(short wich);//选择第几项

 

IHTMLSelectElement *pSlect;

 省略N个字..

pSlect->put_SelectionIndex(index);//index 列表的索引值

 

 

 

参考文章:

http://blog.csdn.net/wangningyu/archive/2009/10/17/4681823.aspx

http://blog.csdn.net/wangningyu/archive/2009/09/08/4526357.aspx

原创粉丝点击