using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Collections; using System.IO; using System.Text.RegularExpressions; using System.Web; using System.Net; using System.Xml; using mshtml; using System.Threading; //20100511 15:14 //加入以下引用是为了调用wininet模块,以修改IE代理选项。 using System.Runtime.InteropServices; using System.Diagnostics; using Microsoft.Win32; namespace ehentai { public partial class frmMain : Form { int documCounter = 0; int dCounter = 0; bool lockPage = true; string htmlCode = ""; ArrayList pages = new ArrayList(); ArrayList imgs = new ArrayList(); WebBrowser wb = new WebBrowser(); //20100511 15:15 //引用wininet,以修改IE代理选项。 [DllImport(@"wininet", SetLastError = true, CharSet = CharSet.Auto, EntryPoint = "InternetSetOption", CallingConvention = CallingConvention.StdCall)] public static extern bool InternetSetOption ( int hInternet, int dmOption, IntPtr lpBuffer, int dwBufferLength ); public static void SetProxy(string proxy) { //打开注册表 RegistryKey regKey = Registry.CurrentUser; string SubKeyPath = @"Software/Microsoft/Windows/CurrentVersion/Internet Settings"; RegistryKey optionKey = regKey.OpenSubKey(SubKeyPath, true); //更改健值,设置代理, optionKey.SetValue("ProxyEnable", 1); optionKey.SetValue("ProxyServer", "socks=" + proxy); //激活代理设置 InternetSetOption(0, 39, IntPtr.Zero, 0); InternetSetOption(0, 37, IntPtr.Zero, 0); } public frmMain() { InitializeComponent(); //wb.Navigated += new WebBrowserNavigatedEventHandler(wb_Navigated); //wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted); //wbMain.ScriptErrorsSuppressed = true; //wb.ScriptErrorsSuppressed = true; showWb(); //SetProxy("127.0.0.1:8080"); } //20100605 显示wb的控件主体。 private void showWb() { wb.Show(); wb.Visible = true; wb.BringToFront(); wb.Parent = splitContainer2.Controls[1]; wb.Dock = DockStyle.Fill; } void wb_Navigated(object sender, WebBrowserNavigatedEventArgs e) { dCounter += 1; } void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { dCounter--; if (dCounter == 0) { timer1.Enabled = false; prosseImg(""); if (imgs.Count > 0) {