求助:将指定字符串写入百度搜索框并提交

vegebirdfly 2010-07-28 10:01:47
MFC的单文档应用程序,视图类继承CHtml类,从网上找了很多资料拼凑了这个putStr(CString cs)函数,可错误百出,请大家帮帮忙,只要实现“将指定字符串写入百度首页搜索框并提交”这个功能即可
万分感谢

#include <atlcom.h>
#include <atlbase.h>
#include <mshtml.h>
#include "stdafx.h"
#include "web_UTU.h"
#include "web_UTUDoc.h"
#include "web_UTUView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

CComModule _Module;


bool CWeb_UTUView::putStr(CString cs)
{
IHTMLDocument2 *pIHTMLDocument2 =(IHTMLDocument2*)GetHtmlDocument();
if( pIHTMLDocument2)
{
HRESULT hr;
CComQIPtr< IHTMLElementCollection > spElementCollection;
hr = pIHTMLDocument2->get_forms( &spElementCollection ); //取得表单集合
long nFormCount=0; //取得表单数目
hr = spElementCollection->get_length( &nFormCount );
if ( FAILED( hr ) )
{
return false;
}

for(long i=0; i<nFormCount; i++)
{
IDispatch *pDisp = NULL; // 取得第i项表单
hr = spElementCollection->item( CComVariant( i ), CComVariant(), &pDisp );
if ( FAILED( hr ) ) continue;
CComQIPtr< IHTMLFormElement > spFormElement = pDisp;
pDisp->Release();
long nElemCount=0; //取得表单中 域 的数目
hr = spFormElement->get_length( &nElemCount );
if ( FAILED( hr ) ) continue;
for(long j=0; j<nElemCount; j++)
{
CComDispatchDriver spInputElement; //取得第 j 项表单域
hr = spFormElement->item( CComVariant( j ), CComVariant(), &spInputElement );
if ( FAILED( hr ) ) continue;
CComVariant vName; //取得表单域的名
hr = spInputElement.GetPropertyByName( L"name", &vName );
if( FAILED( hr ) ) continue;
if(vName=="wd")
{
spInputElement.PutPropertyByName(str,vName);//写入str
}

}
//提交这个表单
pForm->submit();
}

}
pIHTMLDocument2->Release();
}
else return FALSE;
}
...全文
102 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chishui2 2010-07-30
  • 打赏
  • 举报
回复
其实可以直接自己写个函数将关键字转换为baidu的url链接,然后就能获得搜索结果网页了,相当于将指定字符串写入百度首页搜索框并提交
vegebirdfly 2010-07-28
  • 打赏
  • 举报
回复
大家帮帮忙啊
vegebirdfly 2010-07-28
  • 打赏
  • 举报
回复
快来人哪

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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