Ivan's blog

导航

设置IE代理

#Region "改变代理"
    
Private Structure Struct_INTERNET_PROXY_INFO
        
Public dwAccessType As Integer
        
Public proxy As IntPtr
        
Public proxyBypass As IntPtr
    
End Structure

    
<Runtime.InteropServices.DllImport("wininet.dll", SetLastError:=True)> _
    
Private Shared Function InternetSetOption(ByVal hInternet As IntPtr, ByVal dwOption As IntegerByVal lpBuffer As IntPtr, ByVal lpdwBufferLength As IntegerAs Boolean
    
End Function

    
Public Shared Sub SetProxy(Optional ByVal strProxy As String = "221.130.7.227:80")
        
Const INTERNET_OPTION_PROXY As Integer = 38
        
Const 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)

        
Dim iReturn As Boolean = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI))
    
End Sub
#End Region

 

posted on 2010-12-29 10:36  54Ivan  阅读(280)  评论(0)    收藏  举报