关于WebBrowser禁用加载图片的一段C#代码

tellmethefuture tellmethefuture 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
注意红字部分,不好用啊 谁能帮忙看看能不能调通。可能是我用的不对。哪位朋友能帮忙建一个.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);

}
}
}
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
tellmethefuture
C# 111,129 成员 642,540 内容