最好写几句代码,internetqueryoption这个api可能可以,不过看了msdn不会用
除了读注册表,别的办法?

解决方案 »

  1.   

    http://blog.csdn.net/charise/archive/2004/10.aspx
      

  2.   

    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
      

  3.   

    参考:
    http://support.microsoft.com/?kbid=223025
    非常完整的获得网络适配器的属性,包括网关IP地址。
      

  4.   

    我给你一个变通的方法,先在一个bat文件中写下
    ipconfig/all >>c:/ip.config
    然后打开c:/ip.config文件,读取Default Gateway . . . . . . . . . : *.*.*.*就可以了
      

  5.   

    //charise(黑码) 
    你跑来做什么广告!!!!!!!//lxcc(虫子|专注于抢分) 
    你的不行。