积极答复者
判断当前正在使用的网络适配器的IP地址?

问题
-
这段代码是返回安装在计算机中的每个支持 IP 的网络适配器的 IP 地址:
想改成“显示当前正在使用的网络适配器的IP地址”的话,怎么处理?strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set IPConfigSet = objWMIService.ExecQuery _ ("Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE") For Each IPConfig in IPConfigSet If Not IsNull(IPConfig.IPAddress) Then For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress) WScript.Echo IPConfig.IPAddress(i) Next End If Next
答案
-
你好
不太清楚你的錯誤信息的意思..
可不可以POST你的功能上來看看以下的CODE 我在VS2010 上執行是沒有問題的
Dim localHostName As String = System.Net.Dns.GetHostName()
Dim hostEntry As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry(localHostName)
For Each ipAddr As System.Net.IPAddress In hostEntry.AddressList
'如果你想找出IPV4 的Address 可以使用 = Sockets.AddressFamily.InterNetwork.ToString
'如果你想找出IPV6 的Address 可以使用 = Sockets.AddressFamily.InterNetworkV6.ToString
If ipAddr.AddressFamily.ToString = System.Net.Sockets.AddressFamily.InterNetwork.ToString Then
MsgBox(ipAddr.ToString())
End If
Next
Please correct me if my concept is wrong
Chi- 已标记为答案 BoberSongModerator 2010年12月3日 6:24
全部回复
-
你好
或者你可以嘗試以下的CODE
Dim localHostName = Dns.GetHostName()
Dim hostEntry = Dns.GetHostEntry(localHostName)
For Each ipAddr As IPAddress In hostEntry.AddressList
'如果你想找出IPV4 的Address 可以使用 = Sockets.AddressFamily.InterNetwork.ToString
'如果你想找出IPV6 的Address 可以使用 = Sockets.AddressFamily.InterNetworkV6.ToStringIf ipAddr.AddressFamily.ToString = Sockets.AddressFamily.InterNetwork.ToString Then
MsgBox(ipAddr.ToString())
End If
NextPlease correct me if my concept is wrong
Chi -
你好
或者你可以嘗試以下的CODE
Dim localHostName = Dns.GetHostName()
Dim hostEntry = Dns.GetHostEntry(localHostName)
For Each ipAddr As IPAddress In hostEntry.AddressList
'如果你想找出IPV4 的Address 可以使用 = Sockets.AddressFamily.InterNetwork.ToString
'如果你想找出IPV6 的Address 可以使用 = Sockets.AddressFamily.InterNetworkV6.ToStringIf ipAddr.AddressFamily.ToString = Sockets.AddressFamily.InterNetwork.ToString Then
MsgBox(ipAddr.ToString())
End If
NextPlease correct me if my concept is wrong
Chi语句为结束,第一行,第19个字符。
WHY?
-
你好
不太清楚你的錯誤信息的意思..
可不可以POST你的功能上來看看以下的CODE 我在VS2010 上執行是沒有問題的
Dim localHostName As String = System.Net.Dns.GetHostName()
Dim hostEntry As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry(localHostName)
For Each ipAddr As System.Net.IPAddress In hostEntry.AddressList
'如果你想找出IPV4 的Address 可以使用 = Sockets.AddressFamily.InterNetwork.ToString
'如果你想找出IPV6 的Address 可以使用 = Sockets.AddressFamily.InterNetworkV6.ToString
If ipAddr.AddressFamily.ToString = System.Net.Sockets.AddressFamily.InterNetwork.ToString Then
MsgBox(ipAddr.ToString())
End If
Next
Please correct me if my concept is wrong
Chi- 已标记为答案 BoberSongModerator 2010年12月3日 6:24