LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Net跨平臺硬件信息查詢庫 Hardware.Info:全面獲取系統(tǒng)硬件詳情

freeflydom
2025年2月13日 10:32 本文熱度 785

Hardware.Info 是一個基于 .NET Standard 2.0 的跨平臺庫,提供了硬件信息查詢的功能,支持 Windows、Linux 和 macOS 操作系統(tǒng)。該庫通過不同平臺下的系統(tǒng)接口獲取硬件信息,包括電池、電池管理、BIOS、CPU、存儲驅(qū)動、鍵盤、內(nèi)存、顯示器、主板、鼠標(biāo)、網(wǎng)絡(luò)適配器、打印機(jī)、聲音卡、顯卡等硬件組件的詳細(xì)數(shù)據(jù)。

主要特點(diǎn)

跨平臺支持
  • Windows:使用 Windows Management Instrumentation(WMI)來獲取硬件信息。
  • Linux:通過 /dev/proc/sys 文件系統(tǒng)來訪問硬件信息。
  • macOS:利用 sysctl 和 system_profiler 命令來查詢硬件數(shù)據(jù)。
獲取硬件信息
  • 電池信息:當(dāng)前電池狀態(tài)、容量、充電狀態(tài)等。
  • BIOS:BIOS 版本、廠商等信息。
  • CPU 處理器:包括處理器型號、架構(gòu)、核心數(shù)量、頻率等詳細(xì)信息。
  • 存儲驅(qū)動:磁盤驅(qū)動器型號、容量、狀態(tài)等。
  • 內(nèi)存:系統(tǒng)內(nèi)存容量、使用情況等。
  • 顯示器:分辨率、顏色深度、刷新率等。
  • 網(wǎng)絡(luò)適配器:包括網(wǎng)絡(luò)接口卡的速度、MAC 地址、IP 地址等。
  • 顯卡:顯卡型號、內(nèi)存、驅(qū)動信息等。

獲取硬件信息

第一步,老規(guī)矩,先安裝

Install-Package Hardware.Info
using Hardware.Info;
using System.Net.NetworkInformation;
static IHardwareInfo hardwareInfo;
static void Main(string[] args)
{
    try
    {
        hardwareInfo = new HardwareInfo();
        //hardwareInfo.RefreshOperatingSystem();
        //.....
        //刷新所有硬件信息
        hardwareInfo.RefreshAll();
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex);
    }
    Console.WriteLine("輸出操作系統(tǒng)信息" + Environment.NewLine);
    Console.WriteLine(hardwareInfo.OperatingSystem);
    Console.WriteLine("輸出內(nèi)存狀態(tài)信息" + Environment.NewLine);
    Console.WriteLine(hardwareInfo.MemoryStatus);
    Console.WriteLine("輸出電池信息" + Environment.NewLine);
    foreach (var hardware in hardwareInfo.BatteryList)
        Console.WriteLine(hardware);
    Console.WriteLine("輸出 BIOS 信息" + Environment.NewLine);
    foreach (var hardware in hardwareInfo.BiosList)
        Console.WriteLine(hardware);
    Console.WriteLine("輸出計(jì)算機(jī)系統(tǒng)信息" + Environment.NewLine);
    foreach (var hardware in hardwareInfo.ComputerSystemList)
        Console.WriteLine(hardware);
    Console.WriteLine("輸出 CPU 信息" + Environment.NewLine);
    foreach (var cpu in hardwareInfo.CpuList)
    {
        Console.WriteLine(cpu);
        Console.WriteLine("輸出 CPU 核心信息" + Environment.NewLine);
        foreach (var cpuCore in cpu.CpuCoreList)
            Console.WriteLine(cpuCore);
    }
    Console.WriteLine("輸出磁盤驅(qū)動器信息" + Environment.NewLine);
    foreach (var drive in hardwareInfo.DriveList)
    {
        Console.WriteLine(drive);
        Console.WriteLine("輸出驅(qū)動器分區(qū)信息" + Environment.NewLine);
        foreach (var partition in drive.PartitionList)
        {
            Console.WriteLine(partition);
            Console.WriteLine("輸出分區(qū)卷信息" + Environment.NewLine);
            foreach (var volume in partition.VolumeList)
                Console.WriteLine(volume);
        }
    }
    Console.WriteLine("輸出鍵盤信息" + Environment.NewLine);
    foreach (var hardware in hardwareInfo.KeyboardList)
        Console.WriteLine(hardware);
    Console.WriteLine("輸出內(nèi)存信息" + Environment.NewLine);
    foreach (var hardware in hardwareInfo.MemoryList)
        Console.WriteLine(hardware);
    Console.WriteLine("輸出顯示器信息" + Environment.NewLine);
    foreach (var hardware in hardwareInfo.MonitorList)
        Console.WriteLine(hardware);
    Console.WriteLine("輸出主板信息" + Environment.NewLine);
    foreach (var hardware in hardwareInfo.MotherboardList)
        Console.WriteLine(hardware);
    Console.WriteLine("輸出鼠標(biāo)信息" + Environment.NewLine);
    foreach (var hardware in hardwareInfo.MouseList)
        Console.WriteLine(hardware);
    Console.WriteLine("輸出網(wǎng)絡(luò)適配器信息" + Environment.NewLine);
    foreach (var hardware in hardwareInfo.NetworkAdapterList)
        Console.WriteLine(hardware);
    Console.WriteLine("輸出打印機(jī)信息" + Environment.NewLine);
    foreach (var hardware in hardwareInfo.PrinterList)
        Console.WriteLine(hardware);
    Console.WriteLine("輸出聲音設(shè)備信息" + Environment.NewLine);
    foreach (var hardware in hardwareInfo.SoundDeviceList)
        Console.WriteLine(hardware);
    Console.WriteLine("輸出顯卡信息" + Environment.NewLine);
    foreach (var hardware in hardwareInfo.VideoControllerList)
        Console.WriteLine(hardware);
    Console.WriteLine("輸出 Ethernet 類型并且狀態(tài)為 Up 的本地 IPv4 地址" + Environment.NewLine);
    foreach (var address in HardwareInfo.GetLocalIPv4Addresses(NetworkInterfaceType.Ethernet, OperationalStatus.Up))
        Console.WriteLine(address);
    Console.WriteLine();
    Console.WriteLine("輸出 Wireless80211 類型的本地 IPv4 地址" + Environment.NewLine);
    foreach (var address in HardwareInfo.GetLocalIPv4Addresses(NetworkInterfaceType.Wireless80211))
        Console.WriteLine(address);
    Console.WriteLine();
    Console.WriteLine("輸出狀態(tài)為 Up 的網(wǎng)絡(luò)接口卡的本地 IPv4 地址" + Environment.NewLine);
    foreach (var address in HardwareInfo.GetLocalIPv4Addresses(OperationalStatus.Up))
        Console.WriteLine(address);
    Console.WriteLine();
    Console.WriteLine("輸出所有網(wǎng)絡(luò)接口卡的本地 IPv4 地址" + Environment.NewLine);
    foreach (var address in HardwareInfo.GetLocalIPv4Addresses())
        Console.WriteLine(address);
    Console.WriteLine();
    Console.WriteLine("輸出計(jì)算機(jī)當(dāng)前時間" + Environment.NewLine);
    Console.WriteLine(DateTime.Now);
    Console.WriteLine("輸出系統(tǒng)啟動時間" + Environment.NewLine);
    Console.WriteLine(Environment.TickCount);
}

字段對照表

以項(xiàng)目為準(zhǔn),僅供參考,項(xiàng)目地址:https://github.com/hardware-info/hardware-info

字段描述
OperatingSystem操作系統(tǒng)信息,如操作系統(tǒng)版本和名稱。
MemoryStatus內(nèi)存狀態(tài)信息,描述系統(tǒng)當(dāng)前內(nèi)存的使用情況。
BatteryList電池信息,列出計(jì)算機(jī)系統(tǒng)中所有電池的狀態(tài)。
BiosListBIOS 信息,列出計(jì)算機(jī)系統(tǒng)中的所有 BIOS 版本和設(shè)置。
ComputerSystemList計(jì)算機(jī)系統(tǒng)信息,提供計(jì)算機(jī)硬件配置的詳細(xì)信息。
CpuListCPU 信息,列出系統(tǒng)中所有的 CPU 和相關(guān)信息。
CpuCoreListCPU 核心信息,列出每個 CPU 核心的詳細(xì)信息。
DriveList硬盤驅(qū)動器信息,列出計(jì)算機(jī)系統(tǒng)中的所有硬盤驅(qū)動器。
PartitionList磁盤分區(qū)信息,列出每個硬盤驅(qū)動器的分區(qū)情況。
VolumeList分區(qū)卷信息,列出每個磁盤分區(qū)下的卷(文件系統(tǒng))信息。
KeyboardList鍵盤信息,列出計(jì)算機(jī)系統(tǒng)中的所有鍵盤設(shè)備。
MemoryList內(nèi)存條信息,列出計(jì)算機(jī)系統(tǒng)中所有內(nèi)存模塊的狀態(tài)。
MonitorList顯示器信息,列出系統(tǒng)中連接的所有顯示器。
MotherboardList主板信息,列出計(jì)算機(jī)系統(tǒng)中的主板信息。
MouseList鼠標(biāo)信息,列出計(jì)算機(jī)系統(tǒng)中的所有鼠標(biāo)設(shè)備。
NetworkAdapterList網(wǎng)絡(luò)適配器信息,列出計(jì)算機(jī)系統(tǒng)中所有網(wǎng)絡(luò)適配器(如以太網(wǎng)適配器、Wi-Fi適配器等)。
PrinterList打印機(jī)信息,列出計(jì)算機(jī)系統(tǒng)中的所有連接打印機(jī)。
SoundDeviceList聲音設(shè)備信息,列出計(jì)算機(jī)系統(tǒng)中的所有音頻設(shè)備。
VideoControllerList顯卡信息,列出計(jì)算機(jī)系統(tǒng)中的所有顯卡及相關(guān)信息。
GetLocalIPv4Addresses()獲取本地計(jì)算機(jī)的 IPv4 地址信息,根據(jù)網(wǎng)絡(luò)接口類型(如以太網(wǎng)、無線網(wǎng)卡等)篩選。
NetworkInterfaceType網(wǎng)絡(luò)接口類型,指示硬件的網(wǎng)絡(luò)連接類型,如以太網(wǎng)或無線網(wǎng)卡。
OperationalStatus網(wǎng)絡(luò)接口的操作狀態(tài),如 “Up” 表示已連接, “Down” 表示未連接。

總結(jié)

Hardware.Info 是一個強(qiáng)大的跨平臺硬件信息查詢庫,支持 Windows、Linux 和 macOS 操作系統(tǒng),能方便地獲取多種硬件信息。盡管存在一些已知問題,比如首次查詢的延遲和部分?jǐn)?shù)據(jù)無效的情況,但通過合適的配置和方法,可以有效解決這些問題,提供了強(qiáng)大的硬件信息獲取能力。

轉(zhuǎn)自https://www.cnblogs.com/netcore5/p/18711795


該文章在 2025/2/13 10:32:20 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
在线观看免费的AV片 | 在线看片中文字幕 | 日本高级黄区免费 | 亚洲香蕉综合在线 | 一级性做久久久久久 | 日本一区精品一本大道 |