• 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 > 有谁用过IHTMLDocument4中的createDocumentFromUrl方法帮忙看一看下面的程序有什么问题

有谁用过IHTMLDocument4中的createDocumentFromUrl方法帮忙看一看下面的程序有什么问题

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

佚名通过本文主要向大家介绍了 有谁用过IHTMLDocument4中的createDocumentFromUrl方法帮忙看一看下面的程序有什么问题等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 有谁用过IHTMLDocument4中的createDocumentFromUrl方法帮忙看一看下面的程序有什么问题
描述:

MSHTML::IHTMLDocument4Ptr  pDoc4;
MSHTML::IHTMLDocument2Ptr  pDoc2;
CoInitialize(NULL);
HRESULT hr = CoCreateInstance(CLSID_HTMLDocument, NULL, CLSCTX_INPROC_SERVER,IID_IHTMLDocument, (void**)&pDoc4);
// HRESULT hr = CoCreateInstance(CLSID_HTMLDocument, NULL, CLSCTX_INPROC_SERVER,IID_IHTMLDocument2, (void**)&pDoc2);
// MSHTML::IHTMLDocument2Ptr spHtmlDocument(pDocument);
if(SUCCEEDED(hr)) 
{
_bstr_t strurl=_bstr_t(m_url);
// _bstr_t strOptions =_bstr_t(_T(""));
    HRESULT hr1=pDoc4->createDocumentFromUrl(strurl,"");
if(SUCCEEDED(hr))
{
pDoc2=pDoc4;
MSHTML::IHTMLElementCollection *pCollection;
    pDoc2->get_all(&pCollection);
long len;
    pCollection->get_length(&len);
for(int i = 0; i < len; i++)
{
LPDISPATCH lpItem = pCollection->item(CComVariant(i), CComVariant(i));
//Parse Button, Input, Check, Radio 
MSHTML::IHTMLInputElementPtr lpElement;
        HRESULT hr = lpItem->QueryInterface(&lpElement);
if(SUCCEEDED(hr)) 
{
_bstr_t name = lpElement->Getname();
            _bstr_t type = lpElement->Gettype();
            _bstr_t value = lpElement->Getvalue();
    CString strName = (LPTSTR)name;
    CString strType = (LPTSTR)type;
    CString strValue = (LPTSTR)value;
    CString str = _T("\r\n") + strName + _T(" $$$ ") + strType + _T(" $$$ ") + strValue;
////     m_pEditView->SendMessage(EM_SETSEL, -1, -1);
//         m_pEditView->SendMessage(EM_REPLACESEL, 0, (LPARAM)(LPCTSTR)str);
 m_list.AddString(str);
::SysFreeString(name);
::SysFreeString(type);
::SysFreeString(value);
}
   }
运行时出现下面错误The value of ESP was not properly saved across a function call. This is 
usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention高手帮忙呀!!!!!!!!!!!!!!!!!!!!!!


解决方案1:

应该是这样的,你的pDocument估计是 get_Document(&pDispatch)里得到的,那么就可以
pDocument->QueryInterface(IID_IHTMLDocument4,(void**)&pDoc4)
当然根据com 的特性,也可以:
pDispatch->QueryInterface(IID_IHTMLDocument4,(void**)&pDoc4)
这样就可以获得.

解决方案2:

用IID_IHTMLDocument的ID得到IHTMLDocument4接口啊?
应该是IID_IHTMLDocument4吧?

解决方案3:

看到一位大侠的VB代码,这样写的
pDoc4.createDocumentFromUrl("http://www.google.com","null");
另外,你的pDoc2不用CoCreateInstance啊
直接从pDoc4中QueryInterface得到

解决方案4:

    CString strName = (LPTSTR)name;
    CString strType = (LPTSTR)type;
    CString strValue = (LPTSTR)value;
错了,用OLE2T转
哪一行出的错?


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

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

相关文章

  • 2017-06-05 各位大哥能不能给俺讲一下什么是命名管道?怎么用他进行线程间通信?!
  • 2017-06-04 怎么捕获IE正在下载的所有文件?
  • 2017-06-04 对话框中加入ACTIVEX控件以后,对话框就不能DOMODAL弹出
  • 2017-06-04 MSChart中怎么改变字体的颜色?饼图中怎么设置每个区域的颜色?
  • 2017-06-04 F5运行程序不能读到sqlite3数据库内容
  • 2017-06-04 如何使用VC的ATL实现一个COM对象上2个接口
  • 2017-06-05 VC6要写给ASP能调用的dll要注意什么?
  • 2017-06-04 请问加载的ActiveX控件使用ATL如何打开一个网页?
  • 2017-06-04 关于组件注册时使用的R|EG文件
  • 2017-06-05 如何实现高精度的时钟?具体问题见内容

文章分类

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

最近更新的内容

    • 怎么这样做结束线程时有错误呢?
    • ocx调用紧急求助!!!
    • vs2008建立服务程序问
    • 关于用ATL开发office插件
    • 关于dll函数调用的问题
    • 100分归他了:谁能提供在VC中打开PowerPoint文件的源代码
    • 怎样hook锁定本地鼠标事件同时不影响远程传送来鼠标事件
    • 假如有好书,有时间,在不是太熟练vc的基础上要多上时间搞好comatl并用他们开发急
    • activex控件注册失败
    • 超菜问题??????????????????

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

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