VB语言

本类阅读TOP10

·Visual Basic 安装程序的制作!!
·VB中使用EXCEL输出
·一个简单的MP3播放器
·VB程序实现WindowsXP效果的界面!!
·VB打造超酷个性化菜单(六)
·透明位图
·平铺与拉伸MDI窗口的背景图 ~!~
·对《VB程序实现WindowsXP效果的界面》一文的补遗
·从Windows资源管理器中拖动文件
·VB打造超酷个性化菜单(一)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
VB + API 获取 IE 的 "代理服务器" 配制

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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




相关文章

相关软件