在C#中,我希望获得自己的DHCP或静态IP地址。
我使用此代码:
<ul class="list-group gray-bg">
<li class="list-group-item link" ng-click="show=0;show=1;">something</li>
<li class="list-group-item link" ng-click="show=0;show=1;">something</li>
</ul>
我得到了这些结果:
我如何知道使用哪一个?我也在这台PC上安装了虚拟PC。
答案 0 :(得分:3)
您可以使用WMI访问网络接口属性,并找出启用了DHCP的功能:
ManagementObjectSearcher searcherNetwork = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_NetworkAdapterConfiguration");
foreach (ManagementObject queryObj in searcherNetwork.Get())
{
foreach (var prop in queryObj.Properties)
{
Console.WriteLine(string.Format("Name: {0} Value: {1}", prop.Name, prop.Value));
}
}
或者您可以使用NetworkInterface.GetAllNetworkInterfaces()来获取更多信息,例如Name和NetworkInterfaceType(以太网,Wireless80211等)并按这些属性进行过滤
您还可以访问IPv4InterfaceProperties.IsDhcpEnabled属性,例如:
foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
Console.WriteLine(ni.GetIPProperties().GetIPv4Properties().IsDhcpEnabled);
}
答案 1 :(得分:0)
我在这里找到了答案:
这是代码(如果链接断开。我只是不想像你看到的那样传递这个代码)
string hostName = Dns.GetHostName(); // Retrive the Name of HOST
Console.WriteLine(hostName);
// Get the IP
string myIP = Dns.GetHostByName(hostName).AddressList[0].ToString();
Console.WriteLine("My IP Address is :"+myIP);