vc++获取当前使用IE的URL路径与页面的源代码
来源:互联网 发布:linux服务器虚拟化方案 编辑:程序博客网 时间:2024/06/11 13:03
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++获取当前使用IE的URL路径与页面的源代码
- 获取当前提交页面的url路径
- VC 获取IE的URL
- VC 获取IE的URL
- 获取当前页面的Url
- 获取 IE 当前 URL 的代码
- 获取所有IE当前浏览的Url
- C#获取当前IE地址栏的url
- C#获取当前IE的URL
- 使用JS获取当前页面的URL(网址信息)
- 使用JS获取当前页面的URL(网址信息)
- js获取当前路径的url
- js获取当前页面url与刷新当前页面的各种方法
- 获取当前页面URL的ASP函数
- c#怎么获取当前页面的url
- 获取当前页面的url地址
- C#获取当前页面的url
- PHP获取当前页面的URL
- 计算机本科开设课程示意图---解答目前大学开设这些课程的原因
- 【Linux】ubuntu下词典软件Goldendict介绍(可屏幕取词)和StarDict(星际译王)的安装
- 交换两个数组使两个数组和的差最小
- 致黑马后来者——你有多了解自己
- 用Delphi模拟键盘输入
- vc++获取当前使用IE的URL路径与页面的源代码
- 生成GUID字符串
- 2012系统架构设计师考试大纲
- C# GC.Collect()
- 关于模板语言Velocity的简单例子
- 我的面试,我的学习,我的经历
- HDU 2069 动态规划
- 腾讯微博 android Oauth2.0 SDK 使用介绍
- 写正确函数需要注意的地方:最大堆的创建与堆排序