返回顶部
首页 > 资讯 > 操作系统 >C#获取计算机硬件与操作系统的相关信息
  • 450
分享到

C#获取计算机硬件与操作系统的相关信息

2024-04-02 19:04:59 450人浏览 薄情痞子
摘要

1、项目引用System.Management库文件 2、创建HardwareHandler.cs类文件 namespace HardInfoTest.Utility { /

1、项目引用System.Management库文件

2、创建HardwareHandler.cs类文件

namespace HardInfoTest.Utility
{
    /// <summary>
    /// 计算机硬件处理类
    /// </summary>
    public class HardwareHandler
    {
        public enum WMIPath
        {
            // 硬件
            Win32_Processor,     // CPU 处理器
            Win32_PhysicalMemory,  // 物理内存条
            Win32_Keyboard,     // 键盘
            Win32_PointingDevice,  // 点输入设备,包括鼠标。
            Win32_FloppyDrive,    // 软盘驱动器
            Win32_DiskDrive,     // 硬盘驱动器
            Win32_CDROMDrive,    // 光盘驱动器
            Win32_BaseBoard,     // 主板
            Win32_BiOS,       // BioS 芯片
            Win32_ParallelPort,   // 并口
            Win32_SerialPort,    // 串口
            Win32_SerialPortConfiguration, // 串口配置
            Win32_SoundDevice,    // 多媒体设置,一般指声卡。
            Win32_SystemSlot,    // 主板插槽 (ISA & PCI & AGP)
            Win32_USBController,   // USB 控制器
            Win32_NetworkAdapter,  // 网络适配器
            Win32_NetworkAdapterConfiguration, // 网络适配器设置
            Win32_Printer,      // 打印机
            Win32_PrinterConfiguration, // 打印机设置
            Win32_PrintJob,     // 打印机任务
            Win32_tcpIPPrinterPort, // 打印机端口
            Win32_POTSModem,     // MODEM
            Win32_POTSModemToSerialPort, // MODEM 端口
            Win32_DesktopMonitor,  // 显示器
            Win32_DisplayConfiguration, // 显卡
            Win32_DisplayControllerConfiguration, // 显卡设置
            Win32_VideoController, // 显卡细节。
            Win32_VideoSettings,  // 显卡支持的显示模式。
                                  // 操作系统
            Win32_TimeZone,     // 时区
            Win32_SystemDriver,   // 驱动程序
            Win32_DiskPartition,  // 磁盘分区
            Win32_LogicalDisk,   // 逻辑磁盘
            Win32_LogicalDiskToPartition,   // 逻辑磁盘所在分区及始末位置。
            Win32_LogicalMemoryConfiguration, // 逻辑内存配置
            Win32_PageFile,     // 系统页文件信息
            Win32_PageFileSetting, // 页文件设置
            Win32_BootConfiguration, // 系统启动配置
            Win32_ComputerSystem,  // 计算机信息简要
            Win32_OperatingSystem, // 操作系统信息
            Win32_StartupCommand,  // 系统自动启动程序
            Win32_Service,     // 系统安装的服务
            Win32_Group,      // 系统管理组
            Win32_GroupUser,    // 系统组帐号
            Win32_UserAccount,   // 用户帐号
            Win32_Process,     // 系统进程
            Win32_Thread,      // 系统线程
            Win32_Share,      // 共享
            Win32_NetworkClient,  // 已安装的网络客户端
            Win32_NetworkProtocol, // 已安装的网络协议
        }
        /// <summary>
        /// Cpu信息
        /// </summary>
        /// <returns></returns>
        public void CpuInfo()
        {
            try
            {
                ManagementClass mc = new ManagementClass(WMIPath.Win32_Processor.ToString());
                ManagementObjectCollection moc = mc.GetInstances();
                Console.WriteLine("===================================");
                foreach (ManagementObject mo in moc)
                {    
                    Console.WriteLine("CPU编号:" + mo.Properties["ProcessorId"].Value);
                    Console.WriteLine("CPU型号:" + mo.Properties["Name"].Value);
                    Console.WriteLine("CPU状态:" + mo.Properties["Status"].Value);
                    Console.WriteLine("主机名称:" + mo.Properties["SystemName"].Value);
                }
                Console.WriteLine("===================================");
            }
            catch
            {
                Console.WriteLine("Error");
            }
        }
        /// <summary>
        /// 主板信息
        /// </summary>
        public void MainBoardInfo()
        {
            try
            {
                ManagementClass mc = new ManagementClass(WMIPath.Win32_BaseBoard.ToString());
                ManagementObjectCollection moc = mc.GetInstances();
                Console.WriteLine("===================================");
                foreach (ManagementObject mo in moc)
                {
                    Console.WriteLine("主板ID:" + mo.Properties["SerialNumber"].Value);
                    Console.WriteLine("制造商:" + mo.Properties["Manufacturer"].Value);
                    Console.WriteLine("型号:" + mo.Properties["Product"].Value);
                    Console.WriteLine("版本:" + mo.Properties["Version"].Value);
                }
                Console.WriteLine("===================================");
            }
            catch
            {
                Console.WriteLine("Error");
            }
        }
        /// <summary>
        /// 硬盘信息
        /// </summary>
        public void DiskDriveInfo()
        {
            try
            {
                ManagementClass mc = new ManagementClass(WMIPath.Win32_DiskDrive.ToString());
                ManagementObjectCollection moc = mc.GetInstances();
                Console.WriteLine("===================================");
                foreach (ManagementObject mo in moc)
                {
                    Console.WriteLine("硬盘SN:" + mo.Properties["SerialNumber"].Value);
                    Console.WriteLine("型号:" + mo.Properties["Model"].Value);
                    Console.WriteLine("大小:" + Convert.ToDouble(mo.Properties["Size"].Value) / (1024 * 1024 * 1024));
                }
                Console.WriteLine("===================================");
            }
            catch
            {
                Console.WriteLine("Error");
            }
        }
        /// <summary>
        /// 网络连接信息
        /// </summary>
        public void NetworkInfo()
        {
            try
            {
                ManagementClass mc = new ManagementClass(WMIPath.Win32_NetworkAdapterConfiguration.ToString());
                ManagementObjectCollection moc = mc.GetInstances();
                Console.WriteLine("===================================");
                foreach (ManagementObject mo in moc)
                {
                    Console.WriteLine("Mac地址:" + mo.Properties["MACAddress"].Value);
                    Console.WriteLine("IP地址:" + mo.Properties["IPAddress"].Value);
                }
                Console.WriteLine("===================================");
            }
            catch
            {
                Console.WriteLine("Error");
            }
        }
        /// <summary>
        /// 操作系统信息
        /// </summary>
        public void OsInfo()
        {
            try
            {
                ManagementClass mc = new ManagementClass(WMIPath.Win32_OperatingSystem.ToString());
                ManagementObjectCollection moc = mc.GetInstances();
                Console.WriteLine("===================================");
                foreach (ManagementObject mo in moc)
                {
                    Console.WriteLine("操作系统:" + mo.Properties["Name"].Value);
                    Console.WriteLine("版本:" + mo.Properties["Version"].Value);
                    Console.WriteLine("系统目录:" + mo.Properties["SystemDirectory"].Value);
                }
                Console.WriteLine("===================================");
            }
            catch
            {
                Console.WriteLine("Error");
            }
        }
    }
}

3、调用测试代码

        static void Main(string[] args)
        {
            HardwareHandler hd = new HardwareHandler();
            hd.CpuInfo();
            hd.DiskDriveInfo();
            hd.MainBoardInfo();
            hd.networkInfo();
            hd.OsInfo();
        }

4、测试输出截图

到此这篇关于C#获取计算机硬件与操作系统相关信息的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#获取计算机硬件与操作系统的相关信息

本文链接: https://lsjlt.com/news/147325.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#获取计算机硬件与操作系统的相关信息
    1、项目引用System.Management库文件 2、创建HardwareHandler.cs类文件 namespace HardInfoTest.Utility { /...
    99+
    2024-04-02
  • C#怎么获取计算机硬件与操作系统的信息
    这篇文章主要介绍“C#怎么获取计算机硬件与操作系统的信息”,在日常操作中,相信很多人在C#怎么获取计算机硬件与操作系统的信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#怎么获取计算机硬件与操作系统的信息...
    99+
    2023-06-30
  • 怎么用C#获取计算机的软件和硬件信息
    这篇文章主要介绍“怎么用C#获取计算机的软件和硬件信息”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用C#获取计算机的软件和硬件信息”文章能帮助大家解决问题。前言利用System.Managem...
    99+
    2023-07-04
  • JAVA如何获取jvm和操作系统相关信息
    目录 什么是JVM背景Jvm操作系统 什么是JVM JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个...
    99+
    2022-11-13
    JAVA获取jvm信息 JAVA获取操作系统信息
  • QT利用QProcess获取计算机硬件信息
    目录一、项目介绍二、项目基本配置三、UI界面设置四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍 本文介绍利用QProcess获...
    99+
    2024-04-02
  • 如何用C#获取计算机详细的软件和硬件信息
    目录前言写几行代码就可以获取到计算机丰富的配置信息我总结了常用到的表名及对应包含的信息总结前言 利用System.Management提供的类可以用于读取本地计算机设备的各种数据,包...
    99+
    2022-12-29
    c#获取电脑信息 c#获取硬件信息 c获取电脑硬件信息
  • 利用Qt实现获取计算机的硬件信息
    获取的计算机信息包括: 1.计算机的名称 2.所有的IP地址 3.计算机的当前时间 4.CPU型号 5.显卡型号(win10不兼容) 6.内存大小 7.CPU的核数 10.获得显卡的...
    99+
    2022-12-09
    Qt获取计算机硬件信息 Qt 计算机硬件信息 Qt 计算机信息
  • QT如何利用QProcess获取计算机硬件信息
    今天小编给大家分享一下QT如何利用QProcess获取计算机硬件信息的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、项目介...
    99+
    2023-07-02
  • 计算机中怎么批处理获取硬件信息的代码
    小编给大家分享一下计算机中怎么批处理获取硬件信息的代码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!本程序特性:运行环境判断,若自身被修改则自动闪退;若PE环境则提示并指引退出;若虚拟机环境则提示信息获取可能不准;若非管理...
    99+
    2023-06-08
  • python os.stat()如何获取相关文件的系统状态信息
    目录python os.stat()获取相关文件的系统状态信息下面直接以一个具体示例来进行简要说明python os模块的常用操作python os.stat()获取相关文件的系统状...
    99+
    2024-04-02
  • 操作系统虚拟化与云计算:探索其相辅相成的关系
    操作系统虚拟化 操作系统虚拟化是一种通过软件将一台物理服务器划分为多个虚拟机的技术。每个虚拟机都可以运行自己的操作系统和应用程序,就像它们在物理服务器上一样。这允许在单一物理系统上运行多个应用程序,从而提高资源利用率并降低成本。 云计算 ...
    99+
    2024-04-02
  • Java 使用 oshi 获取当前服务硬件信息(操作系统、CPU、内存、磁盘)
    一、导包 这里需要引入两个依赖包: com.github.oshioshi-core6.3.0 org.projectlombok lombok 1.18.24 二、工具类 Hard...
    99+
    2023-10-26
    java oshi 服务器信息
  • node.js中fs文件系统目录操作与文件信息操作的示例分析
    这篇文章主要介绍node.js中fs文件系统目录操作与文件信息操作的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!目录操作如果存在该目录,就创建失败同步创建目录fs.mkdi...
    99+
    2024-04-02
  • 超越硬件限制:操作系统虚拟化在云计算中的作用
    云计算作为一种分布式计算模型,通过互联网提供按需的计算资源。操作系统虚拟化技术在云计算中发挥着至关重要的作用,它允许在单台物理服务器上运行多个虚拟机(VM),每个 VM 都独立于其他 VM 运行自己的操作系统。 提升资源利用率 操作系统虚...
    99+
    2024-04-02
  • 计算机中不是操作系统软件的是什么
    小编给大家分享一下计算机中不是操作系统软件的是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!不是操作系统软件的是microsoft office,micros...
    99+
    2023-06-14
  • Linux操作系统中读取目录文件信息的详细过程
    本篇内容介绍了“Linux操作系统中读取目录文件信息的详细过程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!大致流程:   1.添加头文件 ...
    99+
    2023-06-13
  • 网络操作系统:颠覆传统思维,重塑信息时代的计算格局
    网络操作系统(NOS)是一种先进的计算操作系统,它通过网络连接实现分布式计算,提高资源利用率并提升计算效率,可为企业提供更强大、更敏捷且更具弹性的IT基础设施。网络操作系统已成为现代数据中心的基础设施,它具有以下优势: 资源管理:NO...
    99+
    2024-02-11
    网络操作系统 分布式计算 资源管理 弹性伸缩 扩展性 高可用性
  • 操作系统进程通信的演化:从单片机到云计算
    微服务架构:微服务依赖于分布式进程通信来将应用程序分解成独立、粒度较细的服务。 大数据处理:Hadoop 等大数据处理框架利用进程通信来协调数据处理任务跨集群的分布式执行。 人工智能和机器学习:人工智能和机器学习算法需要分布式通信来训练...
    99+
    2024-04-02
  • C语言如何实现学生信息管理系统的文件操作
    本文小编为大家详细介绍“C语言如何实现学生信息管理系统的文件操作”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言如何实现学生信息管理系统的文件操作”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。新增函数&am...
    99+
    2023-07-02
  • 分时操作系统:让计算机同时做多件事的创新
    简介 在早期的计算机时代,计算机一次只能执行一个程序。随着计算机能力的不断提升,分时操作系统的出现彻底改变了这一状况。分时操作系统是一种可以让计算机同时处理多个程序的操作系统,是让计算机同时做多件事的关键创新。 分时操作系统的原理 分时...
    99+
    2024-03-15
    分时操作系统
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作