设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3290|回复: 3
打印 上一主题 下一主题

(API)获取计算机(本地/公网)IP地址

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2008-7-14 08:12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
网友lirong发的

获取计算机(本地/公网)IP地址

Private Const ERROR_SUCCESS As Long = 0
Private Const MAX_ADAPTER_NAME_LENGTH As Long = 256
Private Const MAX_ADAPTER_DESCRIPTION_LENGTH As Long = 128
Private Const MAX_ADAPTER_ADDRESS_LENGTH As Long = 8


Private Type IP_ADDRESS_STRING

IpAddr(0 To 15) As Byte

End Type


Private Type IP_MASK_STRING

IpMask(0 To 15) As Byte

End Type


Private Type IP_ADDR_STRING

dwNext
As Long


IpAddress As IP_ADDRESS_STRING


IpMask
As IP_MASK_STRING


dwContext As Long

End Type


Private Type IP_ADAPTER_INFO

dwNext

As Long


ComboIndex
As Long
'reserved


sAdapterName(0 To (MAX_ADAPTER_NAME_LENGTH + 3))
As Byte


sDescription(0 To (MAX_ADAPTER_DESCRIPTION_LENGTH + 3)) As Byte


dwAddressLength
As Long


sIPAddress(0 To (MAX_ADAPTER_ADDRESS_LENGTH - 1))
As Byte


dwIndex
As Long


uType

As Long


uDhcpEnabled
As Long


CurrentIpAddress
As Long


IpAddressList
As IP_ADDR_STRING


GatewayList
As IP_ADDR_STRING


DhcpServer
As IP_ADDR_STRING


bHaveWins
As Long


PrimaryWinsServer

As IP_ADDR_STRING


SecondaryWinsServer

As IP_ADDR_STRING


LeaseObtained
As Long


LeaseExpires
As Long

End Type


Private Declare Function GetAdaptersInfo Lib "iphlpapi.dll" (pTcpTable As Any, _

pdwSize As Long) As Long



Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _

(dst As Any, src As Any, ByVal bcount As Long)



Private Declare Function URLDownloadToFile Lib "urlmon" _

Alias "URLDownloadToFileA" _


(ByVal pCaller As Long, _



ByVal szURL As String, _


ByVal szFileName As String, _


ByVal dwReserved As Long, _


ByVal lpfnCB As Long) As Long



Private Declare Function DeleteUrlCacheEntry Lib "Wininet.dll" _

Alias "DeleteUrlCacheEntryA" _


(ByVal lpszUrlName As String) As Long



Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long

Private Function GetPublicIP()

Dim sSourceUrl As String


Dim sLocalFile As String


Dim hfile
As Long


Dim buff
As String


Dim pos1
As Long


Dim pos2
As Long




'site returning IP address



获取计算机(本地/公网)IP地址

Private Const ERROR_SUCCESS As Long = 0
Private Const MAX_ADAPTER_NAME_LENGTH As Long = 256
Private Const MAX_ADAPTER_DESCRIPTION_LENGTH As Long = 128
Private Const MAX_ADAPTER_ADDRESS_LENGTH As Long = 8


Private Type IP_ADDRESS_STRING

IpAddr(0 To 15) As Byte

End Type


Private Type IP_MASK_STRING

IpMask(0 To 15) As Byte

End Type


Private Type IP_ADDR_STRING

dwNext
As Long


IpAddress As IP_ADDRESS_STRING


IpMask
As IP_MASK_STRING


dwContext As Long

End Type


Private Type IP_ADAPTER_INFO

dwNext

As Long


ComboIndex
As Long
'reserved


sAdapterName(0 To (MAX_ADAPTER_NAME_LENGTH + 3))
As Byte


sDescription(0 To (MAX_ADAPTER_DESCRIPTION_LENGTH + 3)) As Byte


dwAddressLength

As Long


sIPAddress(0 To (MAX_ADAPTER_ADDRESS_LENGTH - 1))
As Byte


dwIndex
As Long


uType

As Long


uDhcpEnabled
As Long


CurrentIpAddress
As Long


IpAddressList
As IP_ADDR_STRING



GatewayList

As IP_ADDR_STRING


DhcpServer
As IP_ADDR_STRING


bHaveWins
As Long


PrimaryWinsServer
As IP_ADDR_STRING


SecondaryWinsServer
As IP_ADDR_STRING


LeaseObtained
As Long


LeaseExpires
As Long

End Type


Private Declare Function GetAdaptersInfo Lib "iphlpapi.dll" (pTcpTable As Any, _

pdwSize As Long) As Long



Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _

(dst As Any, src As Any, ByVal bcount As Long)



Private Declare Function URLDownloadToFile Lib "urlmon" _

Alias "URLDownloadToFileA" _


(ByVal pCaller As Long, _


ByVal szURL As String, _


ByVal szFileName As String, _



ByVal dwReserved As Long, _


ByVal lpfnCB As Long) As Long



Private Declare Function DeleteUrlCacheEntry Lib "Wininet.dll" _

Alias "DeleteUrlCacheEntryA" _



(ByVal lpszUrlName As String) As Long



Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long

Private Function GetPublicIP()

Dim sSourceUrl As String


Dim sLocalFile As String


Dim hfile
As Long


Dim buff
As String


Dim pos1
As Long


Dim pos2
As Long




'site returning IP address


sSourceUrl = "http://vbnet.mvps.org/resources/tools/getpublicip.shtml"


sLocalFile = "c:\ip.txt"




'ensure this f

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-7-14 08:34:43 | 只看该作者
收藏[:50]
3#
发表于 2008-8-30 07:44:08 | 只看该作者
顶一下
4#
发表于 2009-8-3 12:36:47 | 只看该作者
你上面的代码如何使用能给个例子吗?谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-6 02:47 , Processed in 0.120065 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表