2012-08-14 2 views

답변

1

저는 인터넷에서 C#으로 여러분의 질문에 대한 해결책을 찾았습니다. 그래서 이것은 제가 제안 할 수있는 VB 버전입니다. System.Runtime.InteropServices를 가져와야합니다.

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

       Public Structure Struct_INTERNET_PROXY_INFO 
         Public dwAccessType As Integer 
         Public proxy As IntPtr 
         Public proxyBypass As IntPtr 
       End Structure 

       Private Sub RefreshIESettings(ByVal strProxy As String) 
         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, System.Runtime.InteropServices.Marshal.SizeOf(struct_IPI)) 
    End Sub 
+0

괜찮습니다. 정말 고맙습니다. – Ewen

관련 문제