关于WebBrowser禁用加载图片的一段C#代码
注意红字部分,不好用啊 谁能帮忙看看能不能调通。可能是我用的不对。哪位朋友能帮忙建一个.NET 2.0的WinForm,把两楼的代码粘到编译器里看看效果呗,谢谢了!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace SpeedUpBrowser
{
public partial class Form1 : Form, IOleClientSite
{
#region BrowserController API
public BrowserOptions webBrowserOptions = BrowserOptions.DontRunActiveX | BrowserOptions.NoClientPull | BrowserOptions.NoJava | BrowserOptions.NoActiveXDownload;
[DispId(-5512)]
public virtual int IDispatch_Invoke_Handler()
{
System.Diagnostics.Debug.WriteLine("-5512");
return (int)webBrowserOptions;
}
#region IOleClientSite Members
public int SaveObject()
{
return 0;
}
public int GetMoniker(int dwAssign, int dwWhichMoniker, out object moniker)
{
moniker = this; return 0;
}
public int GetContainer(out object container)
{
container = this; return 0;
}
public int ShowObject()
{
return 0;
}
public int OnShowWindow(int fShow)
{
return 0;
}
public int RequestNewObjectLayout()
{
return 0;
}
#endregion
public void BrowserLoadImages(WebBrowser wBrowser, bool showImages)
{
if (showImages)
webBrowserOptions |= BrowserOptions.Images;
else
webBrowserOptions &= ~BrowserOptions.Images;
IOleControl obj = (IOleControl)wBrowser.ActiveXInstance;//notify browser of change
obj.OnAmbientPropertyChange(-5512);
}
public enum DOCDOWNLOADCTLFLAG
{
DLIMAGES = unchecked((int)0x00000010),
VIDEOS = unchecked((int)0x00000020),
BGSOUNDS = unchecked((int)0x00000040),
NO_SCRIPTS = unchecked((int)0x00000080),
NO_JAVA = unchecked((int)0x00000100),
NO_RUNACTIVEXCTLS = unchecked((int)0x00000200),
NO_DLACTIVEXCTLS = unchecked((int)0x00000400),
DOWNLOADONLY = unchecked((int)0x00000800),
NO_FRAMEDOWNLOAD = unchecked((int)0x00001000),
RESYNCHRONIZE = unchecked((int)0x00002000),
PRAGMA_NO_CACHE = unchecked((int)0x00004000),
NO_BEHAVIORS = unchecked((int)0x00008000),
NO_METACHARSET = unchecked((int)0x00010000),
URL_ENCODING_DISABLE_UTF8 = unchecked((int)0x00020000),
URL_ENCODING_ENABLE_UTF8 = unchecked((int)0x00040000),
NOFRAMES = unchecked((int)0x00080000),
FORCEOFFLINE = unchecked((int)0x10000000),
NO_CLIENTPULL = unchecked((int)0x20000000),
SILENT = unchecked((int)0x40000000),
OFFLINEIFNOTCONNECTED = unchecked((int)0x80000000),
OFFLINE = unchecked((int)0x80000000), //DLCTL_OFFLINEIFNOTCONNECTED
}
//DLCTL_DLIMAGES
private DOCDOWNLOADCTLFLAG m_DLCtlFlags = DOCDOWNLOADCTLFLAG.DLIMAGES |
DOCDOWNLOADCTLFLAG.BGSOUNDS | DOCDOWNLOADCTLFLAG.VIDEOS;
#endregion
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Url = new Uri("http://www.163.com");
BrowserLoadImages(webBrowser1, false);
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace SpeedUpBrowser
{
public partial class Form1 : Form, IOleClientSite
{
#region BrowserController API
public BrowserOptions webBrowserOptions = BrowserOptions.DontRunActiveX | BrowserOptions.NoClientPull | BrowserOptions.NoJava | BrowserOptions.NoActiveXDownload;
[DispId(-5512)]
public virtual int IDispatch_Invoke_Handler()
{
System.Diagnostics.Debug.WriteLine("-5512");
return (int)webBrowserOptions;
}
#region IOleClientSite Members
public int SaveObject()
{
return 0;
}
public int GetMoniker(int dwAssign, int dwWhichMoniker, out object moniker)
{
moniker = this; return 0;
}
public int GetContainer(out object container)
{
container = this; return 0;
}
public int ShowObject()
{
return 0;
}
public int OnShowWindow(int fShow)
{
return 0;
}
public int RequestNewObjectLayout()
{
return 0;
}
#endregion
public void BrowserLoadImages(WebBrowser wBrowser, bool showImages)
{
if (showImages)
webBrowserOptions |= BrowserOptions.Images;
else
webBrowserOptions &= ~BrowserOptions.Images;
IOleControl obj = (IOleControl)wBrowser.ActiveXInstance;//notify browser of change
obj.OnAmbientPropertyChange(-5512);
}
public enum DOCDOWNLOADCTLFLAG
{
DLIMAGES = unchecked((int)0x00000010),
VIDEOS = unchecked((int)0x00000020),
BGSOUNDS = unchecked((int)0x00000040),
NO_SCRIPTS = unchecked((int)0x00000080),
NO_JAVA = unchecked((int)0x00000100),
NO_RUNACTIVEXCTLS = unchecked((int)0x00000200),
NO_DLACTIVEXCTLS = unchecked((int)0x00000400),
DOWNLOADONLY = unchecked((int)0x00000800),
NO_FRAMEDOWNLOAD = unchecked((int)0x00001000),
RESYNCHRONIZE = unchecked((int)0x00002000),
PRAGMA_NO_CACHE = unchecked((int)0x00004000),
NO_BEHAVIORS = unchecked((int)0x00008000),
NO_METACHARSET = unchecked((int)0x00010000),
URL_ENCODING_DISABLE_UTF8 = unchecked((int)0x00020000),
URL_ENCODING_ENABLE_UTF8 = unchecked((int)0x00040000),
NOFRAMES = unchecked((int)0x00080000),
FORCEOFFLINE = unchecked((int)0x10000000),
NO_CLIENTPULL = unchecked((int)0x20000000),
SILENT = unchecked((int)0x40000000),
OFFLINEIFNOTCONNECTED = unchecked((int)0x80000000),
OFFLINE = unchecked((int)0x80000000), //DLCTL_OFFLINEIFNOTCONNECTED
}
//DLCTL_DLIMAGES
private DOCDOWNLOADCTLFLAG m_DLCtlFlags = DOCDOWNLOADCTLFLAG.DLIMAGES |
DOCDOWNLOADCTLFLAG.BGSOUNDS | DOCDOWNLOADCTLFLAG.VIDEOS;
#endregion
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Url = new Uri("http://www.163.com");
BrowserLoadImages(webBrowser1, false);
}
}
}
...全文
相关推荐
C#判断webbrowser页面最终加载完成
C#判断webbrowser页面最终加载完成
C#使用webBrowser控件获取URL下载图片
通过C#网络编程的webBrowser获取网页中的url并简单的尝试下载网页中的图片,主要是为以后网络开发的基础学习.其中主要的通过应用程序结合网页知识、正则表达式实现浏览、获取url、下载图片三个功能.而且很清晰的解析了每一步都是以前一步为基础实现的.结合知识博客.
C# 用WebBrowser实现的多页面浏览器
当要打开新窗口时,不是弹出IE或其他浏览器,在本身的新tab页中是实现。 可以在此基础上进行多次开发,如进行DOM操作,当然做个什么自动化提交之类的也不在话下了。 --包含源码
C#生成Html并在WebBrowser中显示
使用C# 动态生成Html并在WebBroser中显示,比较简单易懂,适合初学者
C# 使用 WebBrowser 实现 HTML 转图片功能的示例代码
主要介绍了C# 如何使用 WebBrowser 实现 HTML 转图片功能,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下


