Option Explicit
Private Type INTERNET_PROXY_INFO
dwAccessType As Long
lpszProxy As Long
lpszProxyBypass As Long
End Type
Private Const INTERNET_OPTION_PROXY = 38
Private Declare Function InternetSetOption Lib "wininet.dll" Alias "InternetSetOptionA" (ByVal hInternet As Long, ByVal dwOption As Long, ByRef lpBuffer As Any, ByVal dwBufferLength As Long) As Long
Private Declare Function InternetQueryOption Lib "wininet.dll" Alias "InternetQueryOptionA" (ByVal hInternet As Long, ByVal dwOption As Long, ByRef lpBuffer As Any, ByRef dwBufferLength As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByRef pDest As Any, ByRef pSource As Any, ByVal Length As Long)
Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As Any) As Long
Public Function GetProxyAddressAndPort(Optional ProxyType As String) As String
Dim ProxyInfo As INTERNET_PROXY_INFO
Dim arrBuffer() As Byte
Dim strAddress As String
Dim strBypass As String
ReDim arrBuffer(0 To 4095)
InternetQueryOption 0&, INTERNET_OPTION_PROXY, arrBuffer(0), UBound(arrBuffer) - LBound(arrBuffer) + 1
CopyMemory ProxyInfo, arrBuffer(0), LenB(ProxyInfo)
strAddress = VBA.Space(lstrlen(ProxyInfo.lpszProxy))
lstrcpy ByVal strAddress, ProxyInfo.lpszProxy
'不使用代理的地址 strBypass
strBypass = VBA.Space(lstrlen(ProxyInfo.lpszProxyBypass))
lstrcpy ByVal strBypass, ProxyInfo.lpszProxyBypass
'GetProxyAddressAndPort = VBA.Trim(VBA.Replace(strAddress, " ", ";")) ' & ";" & VBA.Replace(strBypass, " ", ";"))
GetProxyAddressAndPort = VBA.Trim(VBA.Replace(strAddress, " ", ";") & ";" & VBA.Replace(strBypass, " ", ";"))
Dim ProxyArray() As String
ProxyArray = Split(GetProxyAddressAndPort, ";")
Dim i As Integer
For i = LBound(ProxyArray) To UBound(ProxyArray)
If ProxyArray(i) Like "*" & ProxyType & "=*" Then
GetProxyAddressAndPort = VBA.Replace(ProxyArray(i), ProxyType & "=", "")
Exit For
End If
Next i
End Function
Private Sub Command1_Click()
MsgBox GetProxyAddressAndPort("http")
MsgBox GetProxyAddressAndPort("ftp")
MsgBox GetProxyAddressAndPort("gopher")
End Sub
'編程配置 IE 的 "代理服務器" 要用到 InternetSetOption
'一個例子下載:
'http://www.vbip.com/forum/files/webbrowser_proxy.zip
文章來源于領測軟件測試網 http://www.kjueaiud.com/
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月