WebBrowser控件施用代理服务器(vb.net)

WebBrowser控件使用代理服务器(vb.net)

WebBrowser控件使用代理服务器(vb.net)
2010年05月28日
  在做一个点击软件,需要用到代理,找了一下资料,刚好可以用,新建一个窗体,加一个按钮和一个webbrowser控件,然后再代码窗口粘帖下列代码,就可以使用了:
  Imports System.Runtime.InteropServices
  Public Class Form1
   _
  Public Structure Struct_INTERNET_PROXY_INFO
  Public dwAccessType As Integer
  Public proxy As IntPtr
  Public proxyBypass As IntPtr
  End Structure
   _
  Private Shared Function InternetSetOption( _
  ByVal hInternet As IntPtr, _
  ByVal dwOption As Integer, _
  ByVal lpBuffer As IntPtr, _
  ByVal lpdwBufferLength As Integer) _
  As Boolean
  End Function
  Private Function RefreshIESettings(ByVal strProxy As String) As Boolean
  Dim INTERNET_OPTION_PROXY As Integer = 38
  Dim INTERNET_OPEN_TYPE_PROXY As Integer = 3
  Dim struct_IPI As Struct_INTERNET_PROXY_INFO
  'Filling   in   structure  
  struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY
  struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy)
  struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local ")
  'Allocating   memory  
  Dim intptrStruct As IntPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI))
  'Converting   structure   to   IntPtr  
  Marshal.StructureToPtr(struct_IPI, intptrStruct, True)
  Return InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI))
  End Function
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  RefreshIESettings("addictivemobility.com:3128")   '使用 IP:端口
  WebBrowser1.Navigate("http://www.ip138.com")
  End Sub
  End Class