C#获取计算机名,IP,MAC信息实现代码

获取计算机名、IP和MAC地址是C#编程中非常常见的需求之一。下面是一些实现方法和示例代码。

获取计算机名

获取计算机名的方法是使用System.Environment类中的MachineName属性。

示例代码如下:

string computerName = System.Environment.MachineName;
Console.WriteLine("计算机名:" + computerName);

获取IP地址

获取IP地址的方法有很多种,这里介绍其中两种比较常用的方法:

方法1:使用System.Net.NetworkInformation类

示例代码如下:

using System.Net.NetworkInformation;

foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
    if (ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet || ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211) 
    {
        IPInterfaceProperties ipProperties = ni.GetIPProperties();
        foreach (UnicastIPAddressInformation ip in ipProperties.UnicastAddresses)
        {
            if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
            {
                Console.WriteLine("IP地址:" + ip.Address);
            }
        }
    }
}

方法2:使用Dns类

这种方法比较简单,只需要调用Dns类的GetHostName方法就可以获取IP地址。

示例代码如下:

string hostName = Dns.GetHostName();    
IPHostEntry ipEntry = Dns.GetHostEntry(hostName);
IPAddress[] ips = ipEntry.AddressList;
foreach (IPAddress ip in ips)
{
    if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
    {
        Console.WriteLine("IP地址:" + ip.ToString());
    }
}

获取MAC地址

获取MAC地址的方法也有很多种,这里介绍其中比较常用的一种方法:使用ManagementObjectSearcher类。

示例代码如下:

using System.Management;

ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");
foreach (ManagementObject mo in mos.Get())
{
    string macAddress = (string)mo["MacAddress"];
    Console.WriteLine("MAC地址:" + macAddress);
}

需要注意的是,有时候获取MAC地址需要管理员权限,否则可能会出现权限不足的错误。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#获取计算机名,IP,MAC信息实现代码 - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • C# 中如何取绝对值函数

    当我们需要取绝对值函数时,可以使用Math库中的Abs函数。具体的使用方法如下所示: //取整数的绝对值 int a = -5; int absA = Math.Abs(a); //absA的值为5 //取小数的绝对值 double b = -3.14; double absB = Math.Abs(b); //absB的值为3.14 上述代码中,我们使用了…

    C# 2023年5月15日
    00
  • C# 动态加载程序集信息

    C# 动态加载程序集信息是指在程序运行中,动态地从文件系统或网络中加载程序集信息,然后使用反射技术获取程序集中的类型信息并进行调用。这种动态加载程序集信息的方法通常用于实现插件式架构、程序集延迟加载等功能。 实现C# 动态加载程序集信息的步骤如下: 加载程序集 使用Assembly.Load方法,可以从文件系统或网络中加载程序集。如下面的代码: Assemb…

    C# 2023年6月1日
    00
  • Base64编码解码原理及C#编程实例

    Base64编码是将二进制数据转换成可打印字符的编码方式,该编码方式需要使用64个可打印字符,即A-Z,a-z,0-9,+和/。 在Base64编码中,每个字符占用6个比特位,因此一个字节可以转换成两个Base64字符。其编码原理是将3个8位的二进制数据(即24个比特位)按照顺序依次作为高位到低位排列成4个6位的比特位组(即4个6位的二进制数据),转换成4个…

    C# 2023年6月6日
    00
  • C#中Cookie之存储对象

    C#中Cookie之存储对象 在C#中,可以使用Cookie对象来存储客户端数据,如用户的登录信息等。那么,在C#中如何使用Cookie来存储对象呢? 1. 创建Cookie对象并存储对象 首先,需要创建Cookie对象,然后将待存储的对象转换为Json字符串。可以使用Json.Net等工具来进行转换。 以一个自定义的Person类为例: public cl…

    C# 2023年5月31日
    00
  • C#异常处理总结及简单实例

    C#异常处理总结及简单实例 本文介绍C#中异常处理的相关知识,包括什么是异常、异常的分类、异常的捕获和处理、如何自定义异常等内容,并通过示例代码进行演示说明。 什么是异常 在C#中,异常是指在程序运行时某些意料之外的问题导致程序无法继续执行的情况。比如:代码中试图打开不存在的文件,或是试图进行无效的计算等。在这些情况下,程序会抛出一个异常,来提示程序员有错误…

    C# 2023年6月6日
    00
  • 旧项目升级新版Unity2021导致Visual Studio无法使用的问题

    如果您的旧项目在升级到Unity 2021后,Visual Studio出现编译错误,或者根本无法使用IDE的情况,您可以按照以下步骤进行处理。 问题原因 新版Unity 2021更新后,使用了最新版的. NET 4.0版本,而旧版Unity所用的.NET为2.0,导致Visual Studio无法正常使用。 解决方案 步骤一:升级Visual Studio…

    C# 2023年6月3日
    00
  • 如何在Unity中检测死循环和卡死

    在Unity中如何检测死循环和卡死主要有以下几种方法: 1. 检测MonoBehaviour的Update方法是否失控 MonoBehaviour的Update方法是Unity脚本中常用的一个方法,它每帧都会执行一次。如果Update方法入口出现死循环或长时间阻塞,就会导致游戏卡死或崩溃。 我们可以通过记录Update方法的执行时间,来判断是否出现了死循环或…

    C# 2023年5月15日
    00
  • Unity InputFiled TMP属性和各种监听示例详解

    Unity InputField TMP属性和各种监听示例详解 什么是InputField? InputField是Unity中的一个UI控件,它可以让用户在UI界面中输入文本。InputField通常结合TextMeshPro(简称TMP)组件使用,用于控制文本的显示。InputField有丰富的属性和事件可以掌控,本文将详细解析。 InputField常…

    C# 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部