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.bianceng.cnhttp://www.bianceng.cn/Programming/vc/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索afxmessagebox
mshtml
,以便于您获取更多的相关知识。

时间: 2024-04-20 20:20:27

vc++获取当前使用IE的URL路径并自动打印出相应的网址的相关文章

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_spSHW

iphone-如何获取文件目录内部的目录URL路径

问题描述 如何获取文件目录内部的目录URL路径 如何获取特定的目录URL路径? 比如Document/Art/ 代码: - (NSURL *)localRoot { if (_localRoot != nil) { return _localRoot; } NSArray * paths = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask]; _loca

VC 获取指定文件夹路径的方法小结

VC获取指定文件夹路径   flyfish  2010-3-5   一 使用Shell函数 1 获取应用程序的安装路径   TCHAR buf[_MAX_PATH];SHGetSpecialFolderPath(NULL,buf,CSIDL_PROGRAM_FILES,NULL);AfxMessageBox(buf); 2 获取应用程序数据路径的文件夹   TCHAR bufApplicateData[_MAX_PATH];SHGetSpecialFolderPath(NULL,bufAppli

使用PHP获取当前url路径的函数以及服务器变量

PHP获取当前url路径的函数及服务器变量:代码: 复制代码 代码如下: <?php $path = /usr/opt/../ect/abcd; echo $_SERVER['DOCUMENT_ROOT']."<br>"; //获得服务器文档根变量(取决于http.conf中的配置) echo $_SERVER['PHP_SELF']."<br>"; //获得执行该代码的文件的路径,与http.conf中的配置有关系. echo __F

jsp获取url路径的方法分析_JSP编程

本文实例讲述了jsp获取url路径的方法.分享给大家供大家参考,具体如下: 如果你请求的URL是  http://localhost:8080/demo/Index.jsp request.getScheme() //输出:http request.getServerName() //输出: localhost request.getServerPort() //输出: 8080 request.getContextPath() //输出: /demo request.getRequestPat

使用PHP获取当前url路径的函数以及服务器变量_php技巧

PHP获取当前url路径的函数及服务器变量:代码: 复制代码 代码如下: <?php$path = /usr/opt/../ect/abcd;echo $_SERVER['DOCUMENT_ROOT']."<br>";   //获得服务器文档根变量(取决于http.conf中的配置)echo $_SERVER['PHP_SELF']."<br>";  //获得执行该代码的文件的路径,与http.conf中的配置有关系.echo __FI

PHP获取当前URL路径的处理方法(适用于多条件筛选列表)

实例如下: <?php /** * PHP获取当前url路径的函数及服务器变量 * $_SERVER["QUERY_STRING"] 查询(query)的字符串 * $_SERVER["REQUEST_URI"] 访问此页面所需的URI * $_SERVER["SCRIPT_NAME"] 包含当前脚本的路径 * $_SERVER["PHP_SELF"] 当前正在执行脚本的文件名 * 适用于列表多条件筛选处理,如:价格,时

asp.net 获取url路径方法

解决的方法主要是依靠 httpcontext 对象,比如 httpcontext.current.request.physicalpath;    // 获得当前页面的完整物理路径.比如 f:xfu.nsqsprojectwebsitedefault.asp教程x httpcontext.current.request.physicalapplicationpath;  // 获得当前程序运行的物理路径比如f:xfu.nsqsprojectwebsite httpcontext.current.

ThinkPHP中URL路径访问与模块控制器之间的关系_php实例

ThinkPHP中URL路径访问与模块控制器之间的关系是ThinkPHP程序开发中非常重要的一个环节.熟练的掌握该技巧对于进一步学习ThinkPHP起着至关重要的作用.具体分析如下: 打开控制器页面: UserAction.class.php  //路径:admin\Lib\Action\   此处的admin为新建的项目对应的目录 我们都知道在Action里的方法默认为Public属性,私有属性的方法没法访问,但定义私有属性的方法也有其意义所在. 在其中定义私有方法的意义:主要体现在,能够在这