关于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);
}
}
}