用C#程序如何获得本地计算机名,本地IP,网络IP

如题所述

获取主机名可以使用下面两种方法:
string machineName = Environment.MachineName; (System 命名空间下)
string hostName = Dns.GetHostName(); (System.Net命名空间下)
获取IP地址,(可能需要IPv4 或 IPv6, 有时主机环境会存在多个ip地址)
Dns.GetHostAddresses(hostName)可获得IPAddress[] 列表
或者
IPHostEntry hostEntry=Dns.GetHostEntry(hostName);
hostEntry.AddressList[] 也可以获取IP 地址列表
接下来你可以使用自己的方法筛选获取想要的那个ip地址
比如IPv4 可以使用 hostEntry.AddressList[i].AddressFamily.ToString() == "InterNetwork" 作为判断条件;
IPv6可以使用hostEntry.AddressList[i].AddressFamily.ToString() == "InterNetworkV6"
或者使用 hostEntry.AddressList[i].IsIPv6LinkLocal 来判断
示例代码网上也能搜的到。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-02-16
  获取主机名可以使用下面两种方法:
  string machineName = Environment.MachineName; (System 命名空间下)
  string hostName = Dns.GetHostName(); (System.Net命名空间下)
  获取IP地址,(可能需要IPv4 或 IPv6, 有时主机环境会存在多个ip地址)
  Dns.GetHostAddresses(hostName)可获得IPAddress[] 列表
  或者
  IPHostEntry hostEntry=Dns.GetHostEntry(hostName);
  hostEntry.AddressList[] 也可以获取IP 地址列表
  接下来可以使用自己的方法筛选获取想要的那个ip地址
  比如IPv4 可以使用 hostEntry.AddressList[i].AddressFamily.ToString() == "InterNetwork" 作为判断条件;
  IPv6可以使用hostEntry.AddressList[i].AddressFamily.ToString() == "InterNetworkV6"
  或者使用 hostEntry.AddressList[i].IsIPv6LinkLocal 来判断

c#如何获取本机电脑名称和IP
IP:System.Net.IPAddress addr = new System.Net.IPAddress(Dns.GetHostByName(Dns.GetHostName()).AddressList[0].Address);计算机名 string hostname=Dns.GetHostName();

C#.NET 如何获得本机IP地址?
获取本机网络ip地址的步骤如下:使用Webrequest类创建请求,目标为"http:\/\/www.ip138.com\/ip2city.asp"。通过Webrequest.GetResponse()获取响应流,然后使用StreamReader读取返回的数据。在读取的数据中查找"您的IP地址是:"字符串,并从其后开始截取包含15个字符的字符串作为ip地址。对截取的字符串进行...

C#中如何获取本地计算机机名
datasource=你的数据库名或数据库IP地址,本机可以用.User ID=你的数据库用户名 pwd=你的数据库密码 Initial Catalog=你要连接到的数据库 这样就不用改电脑名了。如果想得到局域网中所有的sql server 数据库服务器的电脑名。可用下面的方法 using System.Data.Sql;在窗体中建一个Combobox控件。名为...

C#.NET 如何获得本机IP地址?
IPAddress localaddr = localhost.AddressList[0];return localaddr.ToString();} 2、获取本机网络ip地址:通过向网站http:\/\/www.ip138.com\/ip2city.asp发送webrequest,分析返回的数据流 try { string strUrl = "http:\/\/www.ip138.com\/ip2city.asp"; \/\/获得IP的网址 Uri uri = new Uri(...

C#中如何得到机器的IP地址
这两个方法是我一直在用的,都可正常获取到IP地址和Mac地址。\/\/\/ \/\/\/ 获取IP地址 \/\/\/ \/\/\/ <returns>IP地址<\/returns> public string GetLocalIP(){ try { System.Net.NetworkInformation.NetworkInterface[] nics = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces();for...

c#一般处理程序怎么获取本机ip地址
string Name = System.Net.Dns.GetHostName(); \/\/获取本机计算机名System.Net.IPHostEntry IPs = System.Net.Dns.GetHostEntry(Name); \/\/获取本地IP string _ip = "";foreach(System.Net.IPAddress ip in IPs.AddressList){if (ip.AddressFamily.ToString() == "InterNetwork"){_ip = ip....

用C#如何获取客户端的计算机名称?
这个属性就是只能获取IP地址的要获取计算机名字用这个方法:System.Net.Dns.GetHostName()

winform(c#)下,怎么获取本机电脑的IP地址
protected string GetIP() \/\/获取本地IP { IPHostEntry ipHost = Dns.Resolve(Dns.GetHostName());IPAddress ipAddr = ipHost.AddressList[0];return ipAddr.ToString();}

用c#如何获取局域网内所有电脑的ip地址和mac地址
下面的5行代码完成了从局域网中找出所有的机器 foreach(DirectoryEntry domain in root.Children){ lb_pcName.Items.Add("★★★"+domain.Name+"★★★");foreach(DirectoryEntry pc in domain.Children){ if(pc.Name!="Schema")\/\/Schema是结束标记 lb_pcName.Items.Add(" "+pc.Name);} } ...

用C# 如何获取局域网内电脑的IP地址
先获取自己的IP地址和子网掩码,然后根据IP和子网掩码计算局域网中所有IP地址,然后使用 DWORD SendARP(__in IPAddr DestIP,__in IPAddr SrcIP,__out PULONG pMacAddr,__in_out PULONG PhyAddrLen );使用这个API函数逐个扫描检测MAC地址 如果成功则表示在线 如果失败则不再线 函数详...

相似回答