`
testcs_dn
  • 浏览: 114450 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

vc++获取当前使用IE的URL路径与页面的源代码

 
阅读更多

vc++获取当前使用IE的URL路径与页面的源代码

这是关于获取当IE所打开的URL地址(VC++),并且自动打印出相应的网址源代码内容:

//将这个放入你的头文件stdafx.h中
#import <mshtml.tlb>
#import <shdocvw.dll>

void CGetIESrcDlg::GetRunningIESrc()
{
SHDocVw::IShellWindowsPtr m_spSHWinds;
CoInitialize(NULL);
if(m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) == S_OK)
{
IDispatchPtr spDisp;
long nCount = m_spSHWinds->GetCount();
for (long i = 0; i < nCount; i++)
{
_variant_t va(i, VT_I4);
spDisp = m_spSHWinds->Item(va);
SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);
if (spBrowser != NULL)
{
IDispatchPtr spDisp;
if(spBrowser->get_Document(&spDisp) == S_OK && spDisp!= 0 )
{
MSHTML::IHTMLDocument2Ptr spHtmlDocument(spDisp);
MSHTML::IHTMLElementPtr spHtmlElement;
if(spHtmlDocument==NULL)
continue;
spHtmlDocument->get_body(&spHtmlElement);
if(spHtmlDocument==NULL)
continue;
_bstr_t str ;
str=spBrowser->GetLocationURL();//URL of IE window();
AfxMessageBox(str);
MSHTML::IHTMLDocument3* pHTMLDoc3;
HRESULT hr = spHtmlDocument->QueryInterface(__uuidof(MSHTML::IHTMLDocument3),(LPVOID*)&pHTMLDoc3);
ASSERT(SUCCEEDED(hr));
MSHTML::IHTMLElement* pDocElem;
hr = pHTMLDoc3->get_documentElement(&pDocElem);
pHTMLDoc3->Release();
ASSERT(SUCCEEDED(hr));
BSTR bstrHTML;
pDocElem->get_outerHTML(&bstrHTML);
pDocElem->Release();
AfxMessageBox(CString(bstrHTML));
SysFreeString(bstrHTML);
}
break;
}
}

}
else {
AfxMessageBox("Shell Windows interface is not avilable");
}
CoUninitialize();
}

说明:简单遍历了整个网页的所有节点,找出容器当中的第一个页面(多个IE页面的第一页),然后进行遍历取出所有子节点并打印。大家可以测试一下,因为有时候网页过大会出现假死现象,这段代码本工作室测试的时候,可以使用,但用到IE7,IE8这样多标签页的浏览器里要查到每一标签页的内容可能还需要改动一下,有兴趣的朋友自己试试吧!

本文源自:http://www.sse6.cn 转载请注明。


分享到:
评论

相关推荐

    vc++ 获取当前路径

    在本文中,我们将深入探讨如何在VC++环境中获取当前路径,并提供相关的代码示例。 首先,我们需要理解“当前路径”指的是程序运行时所在的目录。这个路径可以用来读取或写入文件,执行其他目录相关的操作。在...

    VC++ 获取网页源代码

    以上就是使用VC++获取网页源代码的核心技术点。虽然WinINet库提供了方便的接口,但需要注意的是,对于大规模的网页抓取或高性能需求,可能需要考虑使用更高级的库,如libcurl或Boost.Asio。此外,现代的网络编程更...

    VC++ 获取网页源代码.rar

    在给定的“VC++ 获取网页源代码.rar”压缩包中,我们可以推测它包含了一个或多个VC++项目或示例,这些项目或示例演示了如何利用VC++获取网页的源代码。这是一项基本但至关重要的技能,特别是在网络爬虫、数据分析和...

    VC++抓取远程文件(URL网页的源代码)

    VC++抓取远程文件(URL网页的源代码) 这是一个通过inet来获取网页内容的程序,远程获取文件内容,实际上是通过URL地址来得到指定地址下某文档的源代码,如截图示,一看便知,不过如果是一些文本类型的文件,也是能...

    vc++游戏源代码 第2章 扫雷

    vc++游戏源代码 第2章 扫雷vc++游戏源代码 第2章 扫雷vc++游戏源代码 第2章 扫雷vc++游戏源代码 第2章 扫雷vc++游戏源代码 第2章 扫雷vc++游戏源代码 第2章 扫雷vc++游戏源代码 第2章 扫雷vc++游戏源代码 第2章 扫雷...

    VC++游戏源代码VC++游戏源代码VC++游戏源代码

    10. **调试与优化**:源代码还包括错误处理和性能优化的技巧,如使用调试器、日志记录、性能分析工具等。 通过深入研究这些VC++游戏源代码,你可以学习到游戏开发的全过程,从设计概念到实现细节,从而提升你的编程...

    弗洛伊德最短路径算法VC++演示源代码

    为了评职称,写了篇论文[最短路径Floyd算法具体演示],并且发表在自己的博客中[http://blog.csdn.net/vinglemar/article/details/43414439],多少年过去了,仍然有网友写信索取源代码,为此,我把它分享一下.

    计算源代码行数源代码VC++

    在给定的“计算源代码行数源代码VC++”项目中,我们聚焦于一个用Microsoft Visual C++(简称VC++)编写的程序,这个程序专门设计来统计其他VC++源代码文件中的代码行数。下面将详细讨论与这个主题相关的知识点。 1....

    VC++获取当前路径常用函数

    在VC++编程中,获取当前工作目录或程序执行路径是一项常见的任务,这有助于读写文件、定位资源或者创建动态链接库。本资源集中讨论了几种常用的VC++函数,用于实现这一目的。以下是对这些函数的详细说明: 1. **...

    VC++斗地主源代码实例

    【VC++斗地主源代码实例】是一个编程学习资源,主要使用Microsoft的Visual C++(简称VC++)作为开发工具,实现了一款经典的扑克牌游戏——斗地主。在这个实例中,开发者通过C++语言来设计游戏逻辑,构建服务器端和...

    VC++如何获得浏览器窗口的地址栏URL字符串

    此外,提供的文件“AutoRefresh.rar”可能包含一个自动刷新浏览器页面的示例代码,而“获得打开的IE窗口的URL名称.txt”可能是实现该功能的具体步骤或源代码片段。如果需要查看这些内容,需要解压“AutoRefresh.rar...

    VC++贪吃蛇源代码

    【VC++贪吃蛇源代码】是一个非常适合VC++初学者学习和实践的项目。这个项目的核心是使用Microsoft的Visual C++编程环境来实现经典游戏——贪吃蛇。通过研究和理解这个源代码,初学者可以深入掌握C++编程语言、...

    连连看VC++源代码

    《连连看VC++源代码解析》 连连看是一款广受欢迎的休闲益智游戏,它以其简单易懂的规则和丰富的视觉效果吸引了大量的玩家。在计算机编程领域,制作类似连连看的小游戏是许多初学者和爱好者热衷的项目,因为它们能够...

    VC++精品源代码

    《VC++精品源代码》集合是一份珍贵的学习资源,它包含了一系列精心挑选的源代码示例,适合初学者和有经验的开发者参考学习。这些源代码涵盖了多种编程技术和设计模式,旨在帮助用户深入理解VC++编程语言的精髓。在...

    VC++五子棋源代码

    《VC++五子棋源代码解析与开发指南》 五子棋是一种深受人们喜爱的智力游戏,具有简单易懂的规则和丰富的策略性。在计算机编程领域,将五子棋游戏实现为软件,是一个很好的学习实践项目,尤其对于初学者来说,能够...

    连连看源代码VC++

    本篇文章将深入探讨使用VC++编写的连连看源代码,帮助读者理解其背后的编程思想和技术实现。通过学习这部分知识,你将能够掌握C++编程基础、游戏逻辑设计以及VC++开发环境的运用。 首先,VC++是Microsoft公司推出的...

    C++ VC++课程学习源代码

    在"VC++课程学习源代码"中,我们可以找到关于C++语言和VC++编程的各种实例,这些实例通常会涵盖以下几个关键知识点: 1. **C++基础语法**:包括变量声明、数据类型、运算符、流程控制语句(如if、switch、for、...

    VC获取当前程序文件的路径,文件名以及路径+文件名

    VC 获取当前程序文件的路径、文件名以及路径+文件名...获取当前程序文件的路径、文件名以及路径+文件名是 VC++ 中的一个常见问题,本文为大家介绍了两种经典的解决方案,同时也讨论了 CFileDialog 对话框的使用方法。

    VC++编译器源代码

    【标题】"VC++编译器源代码"指的是Microsoft Visual C++编译器的源代码。这是一款由微软公司开发的集成开发环境(IDE),主要用于编写C++程序。VC++编译器是C++程序员的重要工具,它将程序员编写的源代码转换成可...

    VC获取当前路径

    在VC++编程环境中,获取当前路径是开发过程中常见的需求,特别是在处理文件操作或者资源定位时。当前路径是指程序运行时的目录,它可以帮助我们定位到程序执行时的默认位置。下面我们将详细探讨如何在VC++中获取当前...

Global site tag (gtag.js) - Google Analytics