请问怎么实现对浏览器内的表单元素进行操作?

klggg 2004-07-28 01:22:00
请问怎么实现对浏览器内的表单元素进行操作?
我在论坛,网上搜索过没有具体的详细.望大家指点了.
比如实现一个web聊天室里的自动聊天这样的功能.
谢谢!
...全文
130 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoleixyz 2004-10-08
  • 打赏
  • 举报
回复
mark
gracezhu 2004-07-28
  • 打赏
  • 举报
回复
使用ie的com接口,比如得到Ihtmldocument2接口后,枚举表单就可以填充了
BOOL CSpyIEEx::LoadData(IHTMLDocument2 *pDoc2)
{
////////////////////////////////////////////////////////////////
if(pDoc2==NULL)
return 0;
IHTMLElementCollection *pColl=NULL;
CComPtr<IHTMLElement> pElement;
pDoc2->get_body(&pElement);
if(pElement==NULL)
return 0;
{
HRESULT hr=pDoc2->get_all(&pColl);
if(SUCCEEDED(hr) && pColl!=NULL)
{
/////////////////////////////////////////
long lcount = 0;
pColl->get_length(&lcount);
for(int i=0;i<lcount;i++)
{
CComVariant index;
index.vt=VT_I4;
index.intVal=i;
CComPtr<IDispatch> disp;
pColl->item(index,index,&disp);
if(disp==NULL)
hr=E_FAIL;
else
{
//////////////////////////
CComPtr<IHTMLInputTextElement> pPwdElement;
hr=disp->QueryInterface(IID_IHTMLInputTextElement,
(void**)&pPwdElement);
if(SUCCEEDED(hr))
{
CComBSTR type,name;
hr=pPwdElement->get_type(&type);
if(SUCCEEDED(hr))
{
//set edit text
if(type==_T("text") || type ==_T("password"))
{
CComBSTR value;
value.Append(strvalue);
hr=pPwdElement->put_value(value);
}
}
}
}
}

}

}
pColl->Release();
}
}
pColl->Release();
return 1;
}
月吻长河 2004-07-28
  • 打赏
  • 举报
回复
用Java Applet做

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧