[]
private string GetLocalIp()
{
string hostname;
IPHostEntry localhost;
IPAddress localaddr;
hostname = System.Net.Dns.GetHostName();
localhost = System.Net.Dns.GetHostByName(hostname);
localaddr = localhost.AddressList[0];
return localaddr.ToString();
}
我使用以上代码进行获取IP,不过VS2010提示System.Net.Dns.GetHostByName(hostname);是过时代码,我应该用什么代码替换??
private string GetLocalIp()
{
string hostname;
IPHostEntry localhost;
IPAddress localaddr;
hostname = System.Net.Dns.GetHostName();
localhost = System.Net.Dns.GetHostEntry(hostname);
localaddr = localhost.AddressList[0];
return localaddr.ToString();
}
游戏玩家你连问题都不看吗??
游戏玩家你连答案也不看吗?
额,我的错
我再就是个问题,我有一个虚拟机,虚拟机再就是一个IP,我如何分辨,再就是我的机器装有IPV6,这又如何分辨
public static void DoGetHostEntry(string hostname)
{
IPHostEntry host;
host = Dns.GetHostEntry(hostname);
Console.WriteLine("GetHostEntry({0}) returns:", hostname);
foreach (IPAddress ip in host.AddressList)
{
Console.WriteLine(" {0}", ip);
}
}
看这个例子,AddressList是一个包含全部IP地址的列表,不过这里localaddr = localhost.AddressList[0];
只用了第一个,能够考虑返回AddressList取得这个列表。
这个我明白,不过不同的机器有不同的情况,人为能够分辨出哪个是使用的,不过把软件应用于电脑,恰好有多个IP(比如有虚拟机),我如何找出他真正的局域网内的IP呢??望回答,谢谢
这个就不是容易的程序能判断的了,看下面这种方法:
游戏玩家们都知道网卡的MAC地址能够从DOS窗口中通过输入"ipconfig /all"命令运行结果获得,那么这个问题的具体内容是:
在C#中运行一个dos命令,并截取相关输出、输出流。
具体代码如下:
tbResult.Text = "";
ProcessStartInfo start = new ProcessStartInfo("Ping.exe"); //设置运行的命令行文件问ping.exe文件,这个文件游戏系统会游戏玩家你自己找到
//假如是其它exe文件,则有可能需要指定详细路径,如运行winRar.exe
start.Arguments = txtCommand.Text; //设置命令参数
start.CreateNoWindow = true; //不显示dos命令行窗口
start.RedirectStandardOutput = true; //
start.RedirectStandardInput = true; //
start.UseShellExecute = false; //是否指定操作游戏系统外壳进程启动程序
Process p=Process.Start(start);
StreamReader reader = p.StandardOutput; //截取输出流
string line = reader.ReadLine(); //每次读取一行
while (!reader.EndOfStream)
{
tbResult.AppendText(line+" ");
line = reader.ReadLine();
}
p.WaitForExit(); //等待程序执行完退出进程
p.Close(); //关闭进程
reader.Close(); //关闭流
这样能够获得网卡的Description,这个是网卡的型号,VMware的好像都是VMNet开头的吧,Virtual PC与Virtual Box是什么就不记得了,针对每种虚拟机来判断吧。该文章转自[花果山动漫游戏网]原文链接:http://www.hgs521.com/pciphone/2011/0213/45217.html