如何获取本机在Internet上的IP地址是很多朋友非常关心的问题。由于现在的上网方式多种多样,通过分析网页返回信息的方法应该是目前最有效的了,今天看了几个帖子后深受启发,写了一个获取公网IP的函数,自己用着还可以,请朋友们帮忙试用一下,看看有什么问题没有。
说明:需要一个Inet控件,另外因为要读网页,根据网速的不同,返回函数值会需要一定的时间。
Private Sub Command1_Click()
    MsgBox GetPublicIP
End Sub
Private Function GetPublicIP() As String
    Dim b() As Byte, s As String, n1 As Integer, n2 As Integer
    b() = Inet1.OpenURL("http://ip.changeip.com", 0)
    s = CStr(b())
    If InStr(1, s, "<!--IPADDR=", vbTextCompare) Then
        n1 = InStr(1, s, "<!--IPADDR=") + Len("<!--IPADDR=")
        n2 = InStr(n1, s, "-->")
        GetPublicIP = Mid(s, n1, n2 - n1)
    Else
        GetPublicIP = ""
    End If
End Function