• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 一个ie插件的问题

一个ie插件的问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了flash ie插件,ie插件,ie插件下载,ie插件管理,ie插件清理等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 一个ie插件的问题
描述:

已有IWebBrowser2指针,怎样获取网页中的文本信息,修改后再设置回去,说的明白点,就是要对一个网页进行翻译


解决方案1:

hehe。
蒋晟给的东西就是好

解决方案2:

http://dev.csdn.net/article/18/18465.shtm
不过这样你要自动检测网页的代码页和分析网页结构
只获得文本的话用document.body.innerhtml就好了

解决方案3:

void CDoHTMLAppDlg::Spy()
{
SHDocVw::IShellWindowsPtr m_spSHWinds;
CComPtr<IDispatch> spDispatch;
CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2> pDoc2;
CComPtr<IHTMLElement> pElement;
CComPtr<IHTMLElementCollection> pElementCol;
CComPtr<IHTMLFormElement> pFormElement;
CComPtr<IHTMLInputTextElement> pInputElement;
    if(m_spSHWinds==NULL)
{
if(m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows))!=S_OK)
{
AfxMessageBox("失败...",MB_ICONINFORMATION);
            CoUninitialize();
}
}
if(m_spSHWinds)
{
int n=m_spSHWinds->GetCount();
for(int i=0;i<n;i++)
{
_variant_t v=(long)i;
IDispatchPtr spDisp=m_spSHWinds->Item(v);
SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);//生成一个IE窗口的智能指针
if(spBrowser)
{
//
VARIANT id,index;
if(SUCCEEDED(spBrowser->get_Document(&spDispatch)))
pDoc2 = spDispatch;
if(pDoc2!=NULL)
{
if(SUCCEEDED(pDoc2->get_forms(&pElementCol)))
{
long p=0;
if(SUCCEEDED(pElementCol->get_length(&p)))
if(p!=0)
{
for(long i=0;i<=(p-1);i++)
{
V_VT(&id)=VT_I4;
V_I4(&id)=i;
V_VT(&index)=VT_I4;
V_I4(&index)=0;
if(SUCCEEDED(pElementCol->item(id,index,&spDispatch)))
if(SUCCEEDED(spDispatch->QueryInterface(IID_IHTMLFormElement,(void**)&pFormElement)))
{
long q=0;
if(SUCCEEDED(pFormElement->get_length(&q)))
for(long j=0;j<=(q-1);j++)
{
V_VT(&id)=VT_I4;
V_I4(&id)=j;
V_VT(&index)=VT_I4;
V_I4(&index)=0;
if(SUCCEEDED(pFormElement->item(id,index,&spDispatch)))
if(SUCCEEDED(spDispatch->QueryInterface(IID_IHTMLInputTextElement,(void**)&pInputElement)))
{
CComBSTR value;
CComBSTR type;
pInputElement->get_type(&type);
CString strtype(type);
strtype.MakeUpper();
if(strtype.Find("TEXT")!=-1)
{
pInputElement->get_value(&value);
CString str(value);
if(!str.IsEmpty())
{
m_List.AddString(_bstr_t("文本信息:")+_bstr_t(value));
Log((LPCTSTR)(_bstr_t("文本信息:")+_bstr_t(value)));
//AfxMessageBox(_bstr_t("文本信息:")+_bstr_t(value)+_bstr_t("\n"),MB_ICONINFORMATION);
}
}
else if(strtype.Find("PASSWORD")!=-1)
{
pInputElement->get_value(&value);
CString str(value);
if(!str.IsEmpty())
{
m_List.AddString(_bstr_t("密码信息:")+_bstr_t(value));
Log((LPCTSTR)(_bstr_t("密码信息:")+_bstr_t(value)));
//AfxMessageBox(_bstr_t("密码信息:")+_bstr_t(value)+_bstr_t("\n"),MB_ICONINFORMATION);
}
}
}
}
}
}
}
}
}
//
_bstr_t bsName=spBrowser->GetLocationName();//窗口名称
                //AfxMessageBox(bsName,MB_ICONINFORMATION);
spBrowser->AddRef();
                void * pData=spBrowser;
//AfxMessageBox((DWORD)(pData),MB_ICONINFORMATION);
}
}
}
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何实现:插件安装后自动在IE的工具栏显示?
  • 插件怎么能获得IE窗口关闭的消息?
  • 请问编写IE插件,怎么弹出一个简单的窗口,分不够再加
  • 在IE插件中有没有好的办法判断网页正在刷新?
  • IE插件弹新窗口的问题
  • IE插件中置顶广告和间隙广告是怎么实现的
  • 关于开发IE插件的问题,请进
  • ie插件的按钮如何实现
  • 了解IE插件的朋友请进
  • IE插件的下拉条不能下拉,求助

相关文章

  • 2017-06-04 在VC6中新建ActiveX的时候可以选择建立几个控件,在VS2008中怎么实现呢?
  • 2017-06-04 求助dshow如何使用注册过的filter
  • 2017-06-05 为什么在OCX里下断点时而有效时而无效?
  • 2017-06-05 请问一下进程管理器中显示出的程序的句柄数对于程序有否影响?
  • 2017-06-04 关于ActiveX如何改写网页里File域的内容。例如wwwpaipaicom的图片处理控件
  • 2017-06-04 请问interface与dispinterface的区别是什么?
  • 2017-06-04 进程外组件多线程套间中的对象在实现时如果只考虑进程外客户调用是否需要进行同步?
  • 2017-06-05 在一个应用程序中如何截获其他应用程序MESSAGEBOX发过来的消息?
  • 2017-06-04 控件下载中的问题
  • 2017-06-04 ActiveX中多线程的应用问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何获取IWebBrowser2指针BHO
    • 请问如何实现连续插入数据
    • ATL写控件ActiveX,在网页中刷新不够的问题!50立刻送上
    • com只见的调用
    • CWebbrowser中获取图片
    • 日---------->realone_V2_gold中文版
    • activex基于win32如果创建不基本于mfc
    • 接口引用计数问题
    • 做了一个网页用的控件,但是把包含该控件的页面关闭后浏览器就自动关闭
    • 如何在一个方法中返回一个数组,怎样用asp访问这数组呢??

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有