MFC webbrowser读取文档的meta分析
- IDispatch* pDisp = NULL;
- IDispatch* pDisp2 = NULL;
- IHTMLDocument2 *pHtmlDoc2 = NULL;
- IHTMLElementCollection* pCol;
- IHTMLMetaElement *pMeta = NULL;
- BSTR bUrl = NULL;
- BSTR bstr = NULL;
- try {
- if ((pDisp = m_WebBrowser.get_Document()) &&
- SUCCEEDED(pDisp->QueryInterface(IID_IHTMLDocument2,(PVOID*)&pHtmlDoc2))
- && SUCCEEDED(pHtmlDoc2->get_all( &pCol)) && pCol
- )
- {
- //检查域名是www.test.com或www.test2.com的域名下, meta标签是否有myflag标记, 如果有则认为是正确的网页bIsGoodWebPage为TRUE
- pHtmlDoc2->get_URL(&bUrl);
- if(wcsstr((const wchar_t*)bUrl, L"www.test.com") == NULL
- && wcsstr((const wchar_t*)bUrl, L"www.test2.com") == NULL)
- {
- bIsGoodWebPage = TRUE;
- }
- else
- {
- long eleLen = ;
- pCol->get_length(&eleLen);
- IHTMLMetaElement* pMetaElement = NULL;
- VARIANT varIndex;
- HRESULT hr;
- for( int i=; i< eleLen; i++)
- {
- VARIANT var2;
- varIndex.vt = VT_UINT;
- varIndex.lVal = i;
- VariantInit( &var2 );
- hr = pCol->item(varIndex, var2, &pDisp2);
- hr = pDisp2->QueryInterface(IID_IHTMLMetaElement,(void**)&pMeta);
- if( hr == S_OK)
- {
- if( SUCCEEDED(pMeta->get_httpEquiv(&bstr)) )
- {
- if(!wcscmp((const wchar_t*)bstr,L"keywords"))
- {
- bstr = NULL;
- if(SUCCEEDED(pMeta->get_content(&bstr)))
- {
- if(!wcscmp((const wchar_t*)bstr, L"myflag"))
- {
- bIsGoodWebPage = TRUE;
- break;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- catch (...)
- {
- WBTRACE("Error\r\n");
- }
- SAFE_RELEASE(pMeta);
- SAFE_RELEASE(pDisp2);
- SAFE_RELEASE(pHtmlDoc2);
- SAFE_RELEASE(pDisp);
MFC webbrowser读取文档的meta分析的更多相关文章
- 解决Spring的java项目打包后执行出现“无法读取方案文档...“、“原因为 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是...”问题
问题 一个用Spring建的java项目,在Eclipse或idea中运行正常,为什么打包后运行出现如下错误呢? 2019/07/10/19:04:07 WARN [main] org.springf ...
- MFC设置单文档保存格式以及标题
在使用MFC编写单文档程序时,有时候需要将编辑的内容序列化为文件,使该文件可以直接以自己的程序打开,这时候需要在保存时将文件后缀改为我们想要的格式. 步骤 打开String Table,找到IDR_M ...
- 12.1 文档相关 Webbrowser 该文档已被修改,是否保存修改结果
附件:http://files.cnblogs.com/xe2011/Webbrowser_Document_IsModified.rar 该文档已被修改,是否保存修改结果?是:保存修改结果 ...
- golang mongodb (mgo)插入或读取文档的字段值为空(nil)问题解决
问题描述 当使用mgo操作mongodb时,遇到数据插入正常,但是在数据库查看时只能看到objectid被插入了:读取的时候,可以查询到记录,但是读入对象时,却所有的值均为0或者空的情况. mongo ...
- 关于css浮动框是否脱离文档流的分析
在了解浮动属性之前,首先我们先了解一下html中关于display属性的相关知识. display属性常用的有inline, block, inline-block. inline也就是内联的意思. ...
- 基于MFC的单文档,多文档,对话框应用程序
从类的角度区分: 基于对话框(3个类): CAboutDlg 程序名App 程序名Dlg 单文档(5个类): CAboutDlg CMainFrame 程序名App 程序名Doc 程序名View 多文 ...
- MFC 修改 单文档 SDI 窗体 标题
程序主窗口标题栏的一般形式为: 文档标题—主窗口标题 1.修改文档标题 修改CExamDoc::onNewDocument()函数为: BOOL CExamDoc::OnNewDocument() { ...
- MFC 视图、文档、框架(通讯)
CMainFrame * pMainWnd=(CMainFrame*)AfxGetApp()->m_pMainWnd;//主框架 CChildFrame * pChild = (CChildFr ...
- Arc Engiene读取文档的属性
设计界面 创建类 代码如下 using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
随机推荐
- android 第一个程序的编写
移通152余继彪 需求分析:输入两个数字,让他们相乘,然后得出结果 首先建立一个android项目 在 layout中建立第一个界面 该界面有四个组件,两个editText 一个TextView,一个 ...
- 初学者SQL语句介绍
初学者SQL语句介绍 1.用 Select 子句检索记录 Select 子句是每一个检索数据的查询核心.它告诉数据库引擎返回什么字段. Select 子句的常见形式是: S ...
- Service中事务不能回滚的解决方式(转)
1.在service方法里面如果对异常进行了捕获的话,该事务是不会进行回滚的 默认spring事务只在发生未被捕获的 runtimeexcetpion时才回滚. spr ...
- Python使用CGIHTTPServer调用shell作为cgi脚本
#!/bin/bash echo "Content-Type:text/html" echo "" echo "hello world!" ...
- RFID Hacking④:使用ProxMark3 破解门禁
文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 前言 国际黑客大会Defcon传统之一:开锁!因为黑客认为锁也是一种安全挑战.我们在黑客题材电影.电视剧中也常常 ...
- php大力力 [037节] Iconfont-阿里巴巴矢量图标库
Iconfont-阿里巴巴矢量图标库 从此不求人:自主研发一套PHP前端开发框架 Iconfont-中国第一个最大且功能最全的矢量图标库,提供矢量图标下载.在线存储.格式转换等功能.阿里巴巴体验团队倾 ...
- Unity3D DllNotFoundException/System.DllNotFoundException
Unity System.DllNotFoundException Unity Fallback handler could not load library D:/91yGame/SparrowCD ...
- Filco minila 的蛋疼。
3494左shift坏了,期间邮寄厂家维修,就把尘封多年的minila拿出来用着. 最为人诟病的问题:蓝亚适配,与mac跟iphone都能快速的匹配连接上.但是对于我的dell vestro 2012 ...
- 解决ListView和ScrollView同时使用时滑动的冲突问题
ScrollView外面包裹了一个ListView,解决其滑动冲突问题: 只需自定义ListView,命名MyListView: public class MyListView extends Lis ...
- c语言scanf返回值
1. scanf 函数是有返回值的,它的返回值可以分成三种情况 1) 正整数,表示正确输入参数的个数.例如执行 scanf("%d %d", &a, &b); 如果 ...