以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何获得本机IP地址呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102995) |
-- 作者:zhsenchzhi -- 发布时间:2017/6/28 23:03:00 -- 如何获得本机IP地址呢? 请问, 如何获得本机IP地址呢? |
-- 作者:有点色 -- 发布时间:2017/6/28 23:30:00 -- http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=59092&skin=0
|
-- 作者:zhsenchzhi -- 发布时间:2017/6/29 0:48:00 -- 不行呀, 获得的不行,不是一个活动的当前Ip, 我机器上有 好几个网卡,该 怎样才能获得 正在使用着的呢? |
-- 作者:有点色 -- 发布时间:2017/6/29 9:17:00 -- 没问题啊
Dim cmd As new Process() cmd.StartInfo.RedirectStandardOutput = True cmd.Start() Dim mc = System.Text.RegularExpressions.Regex.Matches(info, "[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+") Else
|
-- 作者:zhsenchzhi -- 发布时间:2017/6/29 19:44:00 -- 试了一下这个方法基本不可用 (1) 效率很低, 执行一下,要将近一分钟 (2) 结果也不对,取到的是家里的无线路由器的Ip,而不是我的机器上的,如下图所示 |
-- 作者:有点色 -- 发布时间:2017/6/29 20:46:00 -- 尝试
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=32539&skin=0
|
-- 作者:有点色 -- 发布时间:2017/6/29 20:51:00 -- 或者试试
Dim cmd As new Process() cmd.StartInfo.RedirectStandardOutput = True cmd.Start() Dim mc = System.Text.RegularExpressions.Regex.Matches(info, "(?<= IPv4 地址.+)[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+") |
-- 作者:zhsenchzhi -- 发布时间:2017/6/30 20:05:00 -- Dim cmd As new Process() cmd.StartInfo.RedirectStandardOutput = True 楼上这种方式执行效率很低的,要将近 1分钟, 为了获取一个 IP 地址,不值, |
-- 作者:有点蓝 -- 发布时间:2017/6/30 21:00:00 -- Dim adapters() As System.Net.NetworkInformation.NetworkInterface = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces() For Each adapter As System.Net.NetworkInformation.NetworkInterface In adapters Output.Show("描述:" & adapter.Description) Output.Show("标识符:" & adapter.Id) Output.Show("名称:" & adapter.Name) Output.Show("类型:" & adapter.NetworkInterfaceType) Output.Show("速度:" & adapter.Speed * 0.001 * 0.001 & "M") Output.Show("操作状态:" & adapter.OperationalStatus) Output.Show("MAC 地址:" & adapter.GetPhysicalAddress().Tostring) Dim ipp = adapter.GetIPProperties().UnicastAddresses For Each ip As System.Net.NetworkInformation.UnicastIPAddressInformation In ipp If ip.Address.AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork Output.Show("IP 地址: " & ip.Address.ToString()) Exit For End If Next Next 操作状态为1的就是活动的网卡
|