首页 > 编程语言 >网卡工具类 - C#小函数类推荐

网卡工具类 - C#小函数类推荐

时间:2024-10-26 09:20:05浏览次数:1  
标签:函数 C# List list 列表 网卡 new name

       此文记录的是网卡操作的工具类。

/***

    网卡工具类

    Austin Liu 刘恒辉
    Project Manager and Software Designer

    E-Mail: [email protected]
    Blog:   http://lzhdim.cnblogs.com
    Date:   2024-01-15 15:18:00

    使用方法:
        1、获取所有激活的网卡名称;
        List<string> list = NetworkCardUtil.GetActivatedAdaptorNameList();

        2、获取所有正在激活使用的网卡名称列表;
        List<string> NewworkCardList = GetCurrentActiveatedNetworkCardList();

***/

namespace Lzhdim.LPF.Utility
{
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.Management;

    /// <summary>
    /// 网卡工具类
    /// </summary>
    public class NetworkCardUtil
    {
        /// <summary>
        /// 获得当前机器的活动网卡名称,如果列表元素为0则没联网
        /// </summary>
        /// <returns>网卡名称列表</returns>
        public static List<string> GetActivatedAdaptorNameList()
        {
            List<string> list = new List<string>();

            ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection moc = mc.GetInstances();
            foreach (ManagementObject mo in moc)
            {
                if (mo["IPEnabled"].ToString() == "True")
                {
                    list.Add(mo["Description"].ToString());
                }
            }

            return list;
        }

        /// <summary>
        /// 获取当前正在联网使用的网卡名称列表
        /// </summary>
        /// <returns>网卡名称列表。如果元素为0则没有联网的网卡。</returns>
        public static List<string> GetCurrentActiveatedNetworkCardList()
        {
            List<string> list = GetActivatedAdaptorNameList();

            PerformanceCounterCategory category = new PerformanceCounterCategory("Network Interface");

            List<string> NetworkCardList = new List<string>();

            foreach (string name in category.GetInstanceNames())
            {
                // This one exists on every computer.
                if (name == "MS TCP Loopback interface")
                    continue;

                foreach (string item in list)
                {
                    if (name.Replace('[', '(').Replace(']', ')') == item)
                    {
                        NetworkCardList.Add(name);
                    }
                }
            }

            return NetworkCardList;
        }
    }
}

 

标签:函数,C#,List,list,列表,网卡,new,name
From: https://www.cnblogs.com/lzhdim/p/18340706

相关文章

  • 智慧医疗——Cortex-A53旗舰级科室呼叫管理系统
    1.1项目背景及目标        医疗科室呼号显示屏系统的部署,显著提升了医院门诊部的运营效率,有效地解决了患者排队等候时的拥挤和无序问题,从而显著减少了患者的等待时间,优化了整体的就医体验。这一智能化医疗辅助设施的应用,不仅提高了医院的服务质量,而且改善了医院的整体......
  • Cortex-A53高端智能影音融合播放系统
    1.1项目背景及目标        随着信息技术的飞速发展,多媒体数据已成为人们日常生活和工作的重要组成部分,用户对于音视频播放软件的需求日益增长。然而,目前市面上的多媒体播放器在功能、性能、用户体验等方面存在较大差异,许多播放器无法满足用户多样化的播放需求。为了填......
  • 【RocketMQ】源码以及环境搭建
    1  前言本节我们开始看一下RocketMQ相关的东西,我们主要看一条链路,大致如下:(1)环境的搭建,源码的下载(2)消息的结构以及相关类可能也会看下消息的存储(3)消息的生产以及发送过程(4)消息的消费过程大概看着四方面的内容,本节主要看下源码的下载以及环境的搭建。在看之前,我们顺便回......
  • C中的open(), write(), close(), fopen()
    open()函数原型#include<fcntl.h>#include<unistd.h>intopen(constchar*pathname,intflags,mode_tmode);pathname:要打开的文件的路径。flags:打开文件的模式(如只读、只写等)。常用的标志包括:O_RDONLY:只读模式。O_WRONLY:只写模式。O_RDWR:读写模式。O_CR......
  • 【Web前端】JavaScript 对象基础
     JavaScript是一种以对象为基础的编程语言,操作数据时,实际都是在处理对象。可以使用简单的数据类型(如字符串、数字和布尔值)来实现一些功能,但深入了解JavaScript对象的运作,将使你能够编写更强大和灵活的代码。对象基础JavaScript中,对象是由一组键(或属性)和值组成的无......
  • 微服务设计模式-边车模式(Sidecar Pattern)
    微服务设计模式-边车模式(SidecarPattern)定义边车模式(SidecarPattern)是一种将应用程序的功能分离到一个独立的进程或容器中的设计模式。这个独立的进程或容器被称为边车(Sidecar),它与主应用程序(MainApplication)一起运行,并为其提供额外的功能和服务。边车模式可以看作是一......
  • 媒体播放器应用程序的解码器如下:使用 DISM 集成 HEVC 视频扩展应用;要使用 DISM 集成 H
    WMPLegacyandtheMediaPlayer Appare 100%differentsoftware'sandshareexactlyzerocodebetweenthem.MycodecsoftwaresupportsWMPbecauseitcanuseDirectshowcodecsbuttheMediaPlayerAppusesMediaFoundationCodecswhichare distributed......
  • SciTech-BigDataAIML-KLD(KL散度):测度比较"两Distribution(概率分布)"的Similarity(接
    KLD(Kullback-LeiblerDivergence,KL散度):测度比较两Distribution的SimilarityAI领域最重要的MeasureMethodofDistributions(分布度量方法)简写和全称:KLD(Kullback-LeiblerDivergence,KL散度)用途:测度比较两Distribution的Similarity(统计应用上,我们经常需要:......
  • Spring boot 整合elasticsearch
    文章目录ES配置config配置类application.yml配置ES增删改查代码实例业务层serviceImpl高亮添加修改删除根据ID查询批量添加增量同步两种方案1.代码实现2.logstash实现(版本要和你的es版本一致,我这里用得是7.17.0)修改完成后在当前目录下进入终端ES配置co......
  • React项目搭建
    1.环境准备确保你的计算机上已安装以下工具:Node.js:React需要Node.js来运行和管理依赖。你可以从Node.js官网下载并安装最新版本。npm:Node.js安装后会自带npm(NodePackageManager),用于管理项目依赖。2.创建项目使用CreateReactApp是快速创建React应用的推荐方式。打开终......