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