C# 获取和修改 计算机名、IP、DNS等
来源:互联网 发布:安卓编程工具手机版 编辑:程序博客网 时间:2024/05/17 03:14
首先,我们需要引入 System.Net 这个命名空间
using System.Net;
string pcName = Dns.GetHostName(); //取计算机名
string ip = Dns.GetHostByName(pcName).AddressList[0].ToString(); //取IP方法一(VS里提示已过时,汗!)
string ip2 = Dns.GetHostEntry(pcName).AddressList[0].ToString(); //取IP方法二
方法2,就是引入 System.Management 首先先添加程序集引用,然后用以下代码获取:
using System.Management;
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection nics = mc.GetInstances();
foreach (ManagementObject nic in nics)
{
if (Convert.ToBoolean(nic["ipEnabled"]) == true)
{
string mac = nic["MacAddress"].ToString();//Mac地址
string ip = (nic["IPAddress"] as String[])[0];//IP地址
string ipsubnet = (nic["IPSubnet"] as String[])[0];//子网掩码
string ipgateway = (nic["DefaultIPGateway"] as String[])[0];//默认网关
string dns = nic["DNSServerSearchOrder"] as String[])[0]; //DNS
}
}
方法3,引入 System.Net.NetworkInformation 这个命名空间
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in nics)
{
if (adapter.NetworkInterfaceType.ToString().Equals("Ethernet"))
{
IPInterfaceProperties ip = adapter.GetIPProperties(); //IP配置信息
if (ip.UnicastAddresses.Count > 0)
{
ip.UnicastAddresses[0].Address.ToString(); //IP地址
ip.UnicastAddresses[0].IPv4Mask.ToString(); //子网掩码
}
if (ip.GatewayAddresses.Count > 0)
ip.GatewayAddresses[0].Address.ToString(); //默认网关
if (ip.DnsAddresses.Count > 0)
{
ip.DnsAddresses[0].ToString(); //首选DNS服务器地址
if (ip.DnsAddresses.Count > 1)
ip.DnsAddresses[1].ToString();
ip.DnsAddresses[1].ToString();//备用DNS服务器地址
}
}
接下来我们就来修改 计算机名、IP、DNS 等
static void SetNetworkAdapter()
{
ManagementBaseObject inPar = null;
ManagementBaseObject outPar = null;
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach( ManagementObject mo in moc )
{
if( ! (bool) mo[ "IPEnabled" ] )
continue;
//设置ip地址和子网掩码
inPar = mo.GetMethodParameters( "EnableStatic" );
inPar["IPAddress"] = new string[] { "10.22.21.111","192.168.10.9" };
inPar["SubnetMask"] = new string[] { "255.255.255.0","255.255.255.0" };
outPar = mo.InvokeMethod( "EnableStatic", inPar, null );
//设置网关地址
inPar = mo.GetMethodParameters("SetGateways");
inPar["DefaultIPGateway"] = new string[] { "10.22.21.1","192.168.10.1"};
outPar = mo.InvokeMethod( "SetGateways", inPar, null );
//设置DNS
inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");
inPar["DNSServerSearchOrder"] = new string[] {"179.32.42.4","179.32.42.5"};
outPar = mo.InvokeMethod( "SetDNSServerSearchOrder" ,inPar,null);
break;
}
}
- C# 获取和修改 计算机名、IP、DNS等
- LINUX–修改IP地址DNS和计算机名
- c#获取和设置网卡ip/dns等信息
- c# 自动修改计算机名、Ip、网关
- C# .net 获取计算机名 IP
- C#中获取本地计算机的的计算机名,IP和MAC地址
- 获取本机IP和计算机名
- delphi 中获取计算机名和IP
- 获取局域网的计算机名和IP
- vc 获取计算机名 和 ip 地址
- 获取本地计算机名和IP地址
- Java获取本地IP和计算机名
- 获取IP/计算机名
- wxWidgets获取本机IP,计算机名等相关信息
- wxWidgets获取本机IP,计算机名等相关信息
- 怎样获取本地计算机IP和计算机名
- C#获取本机计算机名,IP地址和MAC地址
- (原创)C#获取本地计算机名,IP,MAC地址
- 谁为浮躁而悲哀?
- 大家好
- C#如何写入和读取html控件text1的值
- (struts1)validation.xml
- (struts1)struts-config.xml
- C# 获取和修改 计算机名、IP、DNS等
- (struts1)login.jsp
- mysql cluster 集群
- (struts1)UsersAction.java
- wince 应用 加载图片 并显示
- mysql cluster 集群
- (struts1)ApplicationResources.properties
- ubuntu解压命令全览
- SMARTY插件开发PHP程序