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#使用protobuf-net进行序列化的详细操作

    下面是使用protobuf-net进行C#序列化的详细攻略: 什么是protobuf-net protobuf-net是一种.NET平台下的高效且跨语言的序列化框架。与其他序列化框架(如XML序列化)相比,它具有更高的序列化和反序列化效率,能够有效地将对象序列化为二进制形式,以便它们可以被存储或传输。它是Google Protobuf的一个非官方的.NET实…

    C# 2023年5月31日
    00
  • C#使用JArray和JObject封装JSON对象

    下面是关于C#使用JArray和JObject封装JSON对象的攻略: 1. 什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,其以易于阅读和编写的方式进行了编码。同时,JSON格式也是一种标准的数据格式,被广泛应用于Web数据传输中。 在JSON格式中,数据类型包括了字符串、数字、布尔值、数组、对象…

    C# 2023年5月31日
    00
  • c++ STL之list对结构体的增加,删除,排序等操作详解

    C++ STL之list对结构体的增加, 删除, 排序等操作详解 一、前言 C++ STL (Standard Template Library)是C++的标准库之一,其中包括list容器。list容器是一个双向链表的实现,可以用来存储各种数据类型,包括结构体。本攻略将详细说明如何在list容器中对结构体进行增加、删除、排序等操作。 二、基础知识 在使用li…

    C# 2023年5月15日
    00
  • 详解.NET 6如何实现获取当前登录用户信息

    .NET 6 是最新的 Microsoft .NET 基础设施的一个版本。在其最新版本中,Microsoft 进一步优化了对用户认证和授权的支持,通过一些常见且优秀的方式提供了对当前登录用户信息的简便访问。 以下是详解如何使用.NET 6实现获取当前登录用户信息的攻略,包括两个示例示意: 步骤一:启用身份验证 要使用.NET 6获取当前登录用户信息,首先需要…

    C# 2023年6月3日
    00
  • [译]在C#中使用IComparable和IComparer接口

    原文:Use the IComparable and IComparer interfaces in Visual CSharp 本文介绍了在Visual C#中如何使用IComparer和IComparable接口。 概要 本文同时讨论了IComparable和IComparer接口,原因有两点。这两个接口经常一起使用。虽然接口类似且名称相似,但它们却有不…

    C# 2023年5月3日
    00
  • C#实现简单的文件加密与解密方式

    C#实现简单的文件加密与解密方式攻略 介绍 本文详细讲解如何使用C#语言实现简单的文件加密与解密方式。文件加密是数据保护的一种方法,通过对敏感文件进行加密,确保在未授权的情况下无法访问和解读文件内容。本文讲解将使用对称加密算法 AES 实现文件加密与解密。 实现过程 导入 System.Security.Cryptography 命名空间。该命名空间提供了对…

    C# 2023年5月15日
    00
  • C#实现图片轮播功能的示例代码

    我来为你详细讲解如何实现C#图片轮播功能的完整攻略。 1. 准备工作 在开始编写代码之前,我们需要做一些准备工作。首先,我们需要一个Windows窗体应用程序项目(WinForms)。可以使用Visual Studio创建一个新项目,选择Visual C# > Windows桌面 > Windows窗体应用程序。 接下来,我们需要将几张图片添加到…

    C# 2023年6月6日
    00
  • C#中的引用类型以及特殊引用类型详解

    C#中的引用类型以及特殊引用类型详解 引用类型 在 C# 中,引用类型是指用于引用一个对象的对象变量称为引用类型,这种类型的变量存储的是指向对象的引用,而不是对象本身。引用类型在内存中通常分为两部分,一部分是存储对象本身的实例数据,另一部分是指向该对象的引用。引用类型的变量在内存中存储的是指向实例数据的指针,而非实例本身的完整数据。 以下是一个简单的引用类型…

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