DuiLib : 修改内嵌网页的安全选项
来源:互联网 发布:专业数据分析团队介绍 编辑:程序博客网 时间:2024/05/17 05:03
程序中内嵌网页弹出出现了"停止运行此脚本么?" 如果选择否, 程序就挂掉了, 再没有响应.
同事找到一个资料 : http://blog.csdn.net/breaksoftware/article/details/7104632
主要是修改2个函数, 原始资料是MFC的. 换到DuiLib中也行.
3rd\DuiLib\Control\UIWebBrowser.h
#ifndef __UIWEBBROWSER_H__#define __UIWEBBROWSER_H__#pragma once#include "Utils/WebBrowserEventHandler.h"#include <ExDisp.h>namespace DuiLib{class UILIB_API CWebBrowserUI: public CActiveXUI, public IDocHostUIHandler, public IServiceProvider, public IOleCommandTarget, public IDispatch, public ITranslateAccelerator{public:/// 构造函数CWebBrowserUI();virtual ~CWebBrowserUI();// ...// IServiceProviderSTDMETHOD(QueryService)(REFGUID guidService, REFIID riid, void** ppvObject); STDMETHOD (ProcessUrlAction)( /* [in] */ LPCWSTR pwszUrl, /* [in] */ DWORD dwAction, /* [size_is][out] */ BYTE *pPolicy, /* [in] */ DWORD cbPolicy, /* [in] */ BYTE *pContext, /* [in] */ DWORD cbContext, /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwReserved);// ...<pre name="code" class="cpp">};} // namespace DuiLib#endif // __UIWEBBROWSER_H__
// 3rd\DuiLib\Control\UIWebBrowser.cpp
STDMETHODIMP DuiLib::CWebBrowserUI::ProcessUrlAction( /* [in] */ LPCWSTR pwszUrl, /* [in] */ DWORD dwAction, /* [size_is][out] */ BYTE *pPolicy, /* [in] */ DWORD cbPolicy, /* [in] */ BYTE *pContext, /* [in] */ DWORD cbContext, /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwReserved){ // 脚本禁用的关键 DWORD dwPolicy = URLPOLICY_ALLOW; // !! If the compiler can't find URLACTION_CROSS_DOMAIN_DATA, make sure you are building with // !! the latest version of the IE headers -- URLMON.H specifically -- from MSDN Downloads for the // !! Web Workshop or the Platform SDK if ((dwAction >= URLACTION_SCRIPT_MIN) && (dwAction <= URLACTION_SCRIPT_MAX)) { dwPolicy = URLPOLICY_ALLOW; } else return INET_E_DEFAULT_ACTION; if ( cbPolicy >= sizeof (DWORD)) { *(DWORD*) pPolicy = dwPolicy; return S_OK; } else { return S_FALSE; }}STDMETHODIMP DuiLib::CWebBrowserUI::QueryService( REFGUID guidService, REFIID riid, void** ppvObject ){HRESULT hr = E_NOINTERFACE;*ppvObject = NULL;if ( guidService == SID_SDownloadManager && riid == IID_IDownloadManager){*ppvObject = this;return S_OK;}return hr;}
因为弹出""停止运行此脚本么?"不是很频繁, 所以暂时还没有看到修改内嵌网页安全选项后的效果 ~
0 0
- DuiLib : 修改内嵌网页的安全选项
- duilib : 内嵌网页加载完,设置焦点
- duilib : (工程)内嵌网页加载完,设置焦点
- Duilib 内嵌xml
- 动态修改select内的选项
- Ineternet选项 修改自定义安全 MFC代码
- 基于duilib修改的版本上传了
- js- 常见网页选项卡下的滚动条(控制选项卡内的内容高度)
- WebBrowser和内嵌网页的交互
- 四肢天气的插件内嵌网页
- 网页内嵌编辑器ueditor的使用
- 网页选项卡的显示
- 网页选项卡的应用
- 网页的安全
- DuiLib : 模拟百度网页的填写和搜索
- 网页内嵌字体
- html内嵌网页
- 内嵌网页
- C实现 LeetCode->4Sum
- 脑波设备mindwave二次开发框架
- Java并发编程基础构建模块(03)——阻塞队列
- jquery的使用总结以及实例代码
- redis 基本的了解
- DuiLib : 修改内嵌网页的安全选项
- redis 学习笔记(2)-client端示例代码
- Java并发编程基础构建模块(04)——线程阻塞与中断
- 6800与8080
- 顶部轮播图(自动循环滚动)
- 【HDU 1269】迷宫城堡
- linux 编译进内核 && 编译成模块module
- Servlet--ServletInputStream类,ServletOutputStream类
- Android如何自定义一个View(一)