求教高手:怎么样才能得到和修改本机的IP,子网掩码,网关和NDS?我只会得到本机地址。
解决方案 »
- 请教高手 vb使用udp协议报错 run-time error '2'
- 淘宝注册那几个输入框怎么填?
- treeview如何知道用户选中的是第几层啊?
- MSHFlexGrid中数据定时发送给另外一个窗体怎么实现?
- 请问这个类该如何写
- 为什么用VB写的托盘程序运行后就注销不了机器,重启机器也不行,关机也不行
- 套打发票时,发票高度为什么总是不能按预期的高度走纸,越来越套不上了!
- 我现在用Win98,下决心想换一个,给点建议?
- 新手求助,各位大大能不能帮忙写段小程序
- 在treeview中如何将trewview与imagelist联系起来????
- VB得到来访者外网IP的问题(标题说不清楚,请各位大大进来看看)
- 怎样判断是独占公网IP地址还是公共公网IP地址?
Private Const MAX_IP = 10Private Type IPINFO
dwAddr As Long ' IP 地址
dwNICIndex As Long ' NIC 界面索引
dwSubnetMask As Long ' 子网掩码
dwBroadCastAddr As Long ' 封包广播地址
dwReAssemblySize As Long ' 组译大小
unused1 As Integer ' 暂不使用
unused2 As Integer ' 暂不使用
End TypePrivate Type MIB_IPADDRTABLE
dwEntrys As Long ' 窗体中登录的数量
arIPInfo(MAX_IP) As IPINFO ' IP 地址登录数组
End TypePrivate Type IP_Array
mBuffer As MIB_IPADDRTABLE ' IP 地址清单数组
BufferLen As Long ' 缓冲区长度
End TypePrivate Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function GetIpAddrTable Lib "IPHlpApi" (pIPAdrTable As Byte, pdwSize As Long, ByVal Sort As Long) As Long' 将长整数转换为字符串
Public Function ConvertAddr2Str(LongAddress As Long) As String
Dim addrByte(3) As Byte
Dim Cnt As Long
CopyMemory addrByte(0), LongAddress, 4
For Cnt = 0 To 3
ConvertAddr2Str = ConvertAddr2Str + CStr(addrByte(Cnt)) + "."
Next Cnt
ConvertAddr2Str = Left$(ConvertAddr2Str, Len(ConvertAddr2Str) - 1)
End FunctionPrivate Sub Form_Load()
Text1.Text = ""
Me.Caption = "取得计算机上所使用的 IP 地址"
Text1.Font.Size = 11
Start
End SubPrivate Sub Form_Resize()
Text1.Height = Me.Height - 38 * Screen.TwipsPerPixelY
Text1.Width = Me.Width - 20 * Screen.TwipsPerPixelX
End SubPrivate Sub Start()
Dim lRet As Long, I As Long
Dim Buffer() As Byte
Dim ListDatas As MIB_IPADDRTABLEText1 = ""On Error GoTo Errors
GetIpAddrTable ByVal 0&, lRet, True If lRet <= 0 Then Exit Sub
ReDim Buffer(0 To lRet - 1) As Byte ' 取回 IP 地址的相关数据
GetIpAddrTable Buffer(0), lRet, False
Debug.Print Buffer(0)
' 利用已经安装 IP 地址的前四个字节,来取得登录的信息
CopyMemory ListDatas.dwEntrys, Buffer(0), 4
Text1 = "在您的计算机上,共有 " & ListDatas.dwEntrys & " 组已经设定使用的 IP 地址" & vbCrLf
Text1 = Text1 & String(45, "=") & vbCrLf
For I = 0 To ListDatas.dwEntrys - 1 ' 将存在内存之中的地址结构,复制到清单之中
CopyMemory ListDatas.arIPInfo(I), Buffer(4 + (I * Len(ListDatas.arIPInfo(0)))), Len(ListDatas.arIPInfo(I))
Text1 = Text1 & "IP 地址 :" & ConvertAddr2Str(ListDatas.arIPInfo(I).dwAddr) & vbCrLf
Text1 = Text1 & "IP 子网掩码:" & ConvertAddr2Str(ListDatas.arIPInfo(I).dwSubnetMask) & vbCrLf
Text1 = Text1 & "IP 广播地址 :" & ConvertAddr2Str(ListDatas.arIPInfo(I).dwBroadCastAddr) & vbCrLf
Text1 = Text1 & String(45, "*") & vbCrLf & vbCrLf
NextExit Sub
Errors:End Sub