Foxtable(狐表)用户栏目专家坐堂 → [求助]读本机IP地址


  共有6402人关注过本帖树形打印复制链接

主题:[求助]读本机IP地址

帅哥哟,离线,有人找我吗?
zxl8813
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:22 积分:338 威望:0 精华:0 注册:2014/6/24 12:15:00
[求助]读本机IP地址  发帖心情 Post By:2014/10/29 16:03:00 [只看该作者]

请教各位高手,如何读取本机的IP地址和mac地址

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/10/29 16:05:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/1/15 9:20:00 [只看该作者]

建议官方将本机IP地址,MAC地址 弄进系统常量里

 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/1/15 9:30:00 [只看该作者]

官方可能会说,使用类似语句获取

 

 

Dim IPAdress As System.Net.IPAddress
Dim HostName As String
HostName = System.Net.Dns.GetHostName '获得本机的机器名
IPAdress = System.Net.Dns.GetHostByName(HostName).AddressList.GetValue(0) '获得本机的IP
messagebox.show(IPAdress.Tostring) '获得MAC地址
msgbox(HostName)

 

但是这获取到的IP是一个数组中的一个,取到的IP并不是当前活动的IP,怎么其它软件提供的取本机IP地址均符合要求,到了FT取本机IP我就搞不定了呢.

AddressList.GetValue(0) '获得本机的IP  问题是MICROSOFT公司并没有把活动网卡,地址放在第1位呀,要想取得正确的IP,这个数字是随机的

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/15 9:40:00 [只看该作者]

 就是第一个啊

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/15 9:42:00 [只看该作者]

Dim IPAdress As System.Net.IPAddress
Dim HostName As String
HostName = System.Net.Dns.GetHostName '获得本机的机器名
Dim l As Integer = System.Net.Dns.GetHostByName(HostName).AddressList.Length
For i As Integer=0 To l-1
  IPAdress = System.Net.Dns.GetHostByName(HostName).AddressList.getValue(i) '获得本机的IP
  output.show(IPAdress.Tostring)
Next


这样列出所有网卡的IP

 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/1/15 9:45:00 [只看该作者]

第一个不是我想的. 比如我本机实际使用的IP地址是:192.168.1.83 其它软件取IP是取的这个的.

 

用FT取第一个是192.168.37.1 这个网卡存在并没有使用.

 

经测试IPAdress = System.Net.Dns.GetHostByName(HostName).AddressList.GetValue(2) '获得本机的IP 才获取的是192.168.1.83

 


IPAdress = System.Net.Dns.GetHostByName(HostName).AddressList.GetValue(0) '获得本机的IP  获得的是无效IP

 

我电脑有网卡,无线网卡,还有虚拟网卡两个

 

我不要所有网卡的IP,只要对外活动的IP

[此贴子已经被作者于2015-1-15 9:49:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/15 10:04:00 [只看该作者]

 换一种方法,获取到字符串后自己截取得到

 


Dim cmd As  new Process()
cmd.StartInfo.FileName = "tracert"
cmd.StartInfo.Arguments = "baidu.com -h 1"

cmd.StartInfo.RedirectStandardOutput = True
cmd.StartInfo.RedirectStandardInput = True
cmd.StartInfo.UseShellExecute = False
cmd.StartInfo.CreateNoWindow = True

cmd.Start()
Dim info As String = cmd.StandardOutput.ReadToEnd()
msgbox(Info)


 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/1/15 10:32:00 [只看该作者]

算了,看来FT处理本机IP有点麻烦,就不记录IP了改记录 计算机名称吧

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2243 积分:18477 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2016/4/19 20:03:00 [只看该作者]

Dim cmd As  new Process()
cmd.StartInfo.FileName = "tracert"
cmd.StartInfo.Arguments = "baidu.com -h 1"

cmd.StartInfo.RedirectStandardOutput = True
cmd.StartInfo.RedirectStandardInput = True
cmd.StartInfo.UseShellExecute = False
cmd.StartInfo.CreateNoWindow = True

cmd.Start()
Dim info As String = cmd.StandardOutput.ReadToEnd()
msgbox(Info)


----如果是连着wifi上网,对外的IP能获取吗?



 回到顶部
总数 15 1 2 下一页