最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在C#中讀取CPU、硬盤和內(nèi)存溫度的完整代碼

 更新時(shí)間:2025年06月13日 09:57:27   作者:小碼編匠  
系統(tǒng)監(jiān)控工具或性能分析應(yīng)用時(shí),實(shí)時(shí)獲取硬件信息(如 CPU、硬盤和內(nèi)存的溫度)是一個(gè)常見且重要的需求,本文將詳細(xì)介紹如何在 C# 項(xiàng)目中集成并使用 Open Hardware Monitor 庫(kù),以實(shí)現(xiàn)對(duì) CPU、硬盤以及內(nèi)存溫度的監(jiān)控,需要的朋友可以參考下

前言

系統(tǒng)監(jiān)控工具或性能分析應(yīng)用時(shí),實(shí)時(shí)獲取硬件信息(如 CPU、硬盤和內(nèi)存的溫度)是一個(gè)常見且重要的需求。然而,.NET Framework 或 .NET Core 并未提供直接訪問(wèn)硬件溫度的內(nèi)置支持。為了實(shí)現(xiàn)這一功能,我們可以借助開源庫(kù) Open Hardware Monitor 來(lái)完成硬件信息的讀取。

本文將詳細(xì)介紹如何在 C# 項(xiàng)目中集成并使用 Open Hardware Monitor 庫(kù),以實(shí)現(xiàn)對(duì) CPU、硬盤以及內(nèi)存溫度的監(jiān)控,并提供完整的示例代碼。

一、準(zhǔn)備工作

要使用 Open Hardware Monitor,首先需要從其 GitHub 官方頁(yè)面 下載庫(kù)文件。下載完成后,你會(huì)獲得一個(gè) .dll 文件,這是我們將要在 C# 項(xiàng)目中引用的核心庫(kù)。

注意:確保下載的版本與你的項(xiàng)目目標(biāo)框架兼容(如 .NET Framework 4.x 或 .NET Core/.NET 5+)。

二、添加引用

在 Visual Studio 中為項(xiàng)目添加 Open Hardware Monitor 引用的步驟如下:

1、右鍵點(diǎn)擊解決方案資源管理器中的項(xiàng)目名。

2、選擇"添加" -> "引用"。

3、在彈出的窗口中選擇"瀏覽",然后定位到你下載的 OpenHardwareMonitorLib.dll 文件。

4、選中該 DLL 文件,點(diǎn)擊"添加"。

5、確認(rèn)添加引用操作。

三、讀取硬件溫度

下面是一個(gè)完整的 C# 示例程序,演示如何使用 Open Hardware Monitor 獲取 CPU、硬盤和內(nèi)存的溫度信息:

using System;
using OpenHardwareMonitor.Hardware;

namespace HardwareTemperatureMonitor
{
    class Program
    {
        static void Main(string[] args)
        {
            Computer computer = new Computer
            {
                CPUEnabled = true,   // 啟用CPU監(jiān)控
                HDDEnabled = true,   // 啟用硬盤監(jiān)控
                RAMEnabled = true    // 啟用內(nèi)存監(jiān)控(注意:大多數(shù)內(nèi)存模塊無(wú)溫度傳感器)
            };

            computer.Open(); // 開始監(jiān)控

            foreach (var hardwareItem in computer.Hardware)
            {
                hardwareItem.Update(); // 更新硬件信息
                foreach (var sensor in hardwareItem.Sensors)
                {
                    if (sensor.SensorType == SensorType.Temperature) // 檢查是否為溫度傳感器
                    {
                        Console.WriteLine($"{hardwareItem.Name} - {sensor.Name}: {sensor.Value.GetValueOrDefault()}°C");
                    }
                }
            }

            computer.Close(); // 結(jié)束監(jiān)控
        }
    }
}

上圖展示了程序運(yùn)行后輸出的硬件溫度信息。

該代碼通過(guò)以下步驟實(shí)現(xiàn)了溫度讀?。?/p>

1、創(chuàng)建一個(gè) Computer 實(shí)例,并啟用 CPU、硬盤和內(nèi)存的監(jiān)控。

2、調(diào)用 computer.Open() 啟動(dòng)硬件監(jiān)控。

3、遍歷所有硬件設(shè)備及其傳感器,篩選出類型為 Temperature 的傳感器。

4、輸出每個(gè)傳感器對(duì)應(yīng)的硬件名稱及當(dāng)前溫度值。

5、最后調(diào)用 computer.Close() 關(guān)閉監(jiān)控。

四、注意事項(xiàng)

管理員權(quán)限:某些系統(tǒng)下需要以管理員身份運(yùn)行程序,以便訪問(wèn)底層硬件信息。

內(nèi)存溫度限制:大多數(shù)內(nèi)存模塊并不包含溫度傳感器,因此可能無(wú)法獲取內(nèi)存溫度數(shù)據(jù)。

兼容性檢查:確保所使用的 Open Hardware Monitor 版本與你的項(xiàng)目目標(biāo)框架兼容,避免出現(xiàn)運(yùn)行時(shí)異常。

總結(jié)

通過(guò)集成 Open Hardware Monitor 庫(kù),我們可以在 C# 中輕松實(shí)現(xiàn)對(duì)硬件溫度的監(jiān)控功能。盡管 .NET 本身并未提供直接訪問(wèn)硬件信息的 API,但借助第三方開源庫(kù)的支持,開發(fā)者依然可以構(gòu)建強(qiáng)大的系統(tǒng)監(jiān)控和性能分析工具。

不管是用于服務(wù)器健康監(jiān)控、游戲性能優(yōu)化,還是個(gè)人電腦狀態(tài)查看,這項(xiàng)技術(shù)都具有廣泛的應(yīng)用價(jià)值。掌握此類硬件交互技巧,有助于提升軟件的功能性和用戶體驗(yàn)。

以上就是在C#中讀取CPU、硬盤和內(nèi)存溫度的完整代碼的詳細(xì)內(nèi)容,更多關(guān)于C#讀取CPU、硬盤和內(nèi)存溫度的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C# 禁止應(yīng)用程序多次啟動(dòng)的實(shí)例

    C# 禁止應(yīng)用程序多次啟動(dòng)的實(shí)例

    經(jīng)常我們會(huì)有這樣的需求,只讓應(yīng)用程序運(yùn)行一個(gè)實(shí)體,下面是實(shí)現(xiàn)的方法,有需要的朋友可以參考一下
    2013-09-09
  • C#中創(chuàng)建統(tǒng)一API接口的實(shí)現(xiàn)方案

    C#中創(chuàng)建統(tǒng)一API接口的實(shí)現(xiàn)方案

    在 C# 中創(chuàng)建統(tǒng)一 API 接口需要從架構(gòu)設(shè)計(jì)、技術(shù)選型和代碼實(shí)現(xiàn)等多個(gè)層面進(jìn)行規(guī)劃,本文給大家詳細(xì)介紹了實(shí)現(xiàn)方案和完整示例代碼,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2025-04-04
  • C#拼接SQL語(yǔ)句 用ROW_NUMBER實(shí)現(xiàn)的高效分頁(yè)排序

    C#拼接SQL語(yǔ)句 用ROW_NUMBER實(shí)現(xiàn)的高效分頁(yè)排序

    C#拼接SQL語(yǔ)句,SQL Server 2005+,多行多列大數(shù)據(jù)量情況下,使用ROW_NUMBER實(shí)現(xiàn)的高效分頁(yè)排序
    2012-05-05
  • C#實(shí)現(xiàn)給圖片加水印的方法

    C#實(shí)現(xiàn)給圖片加水印的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)給圖片加水印的方法,結(jié)合完整實(shí)例形式分析了C#常見的圖片水印操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-02-02
  • C# Environment.CurrentDirectory 靜態(tài)屬性的實(shí)現(xiàn)

    C# Environment.CurrentDirectory 靜態(tài)屬性的實(shí)現(xiàn)

    本文主要介紹了C# Environment.CurrentDirectory 靜態(tài)屬性的實(shí)現(xiàn),它返回當(dāng)前應(yīng)用程序的工作目錄路徑,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • C#學(xué)習(xí)進(jìn)階Hello World的17種寫法代碼分享

    C#學(xué)習(xí)進(jìn)階Hello World的17種寫法代碼分享

    本文針對(duì)不同階段、不同程度的C#學(xué)習(xí)者,介紹了C# Hello World的17種不同寫法,C# Hello World寫法入門、C# Hello World寫法進(jìn)階、C# Hello World的特別寫法三種角度進(jìn)行推進(jìn)
    2013-12-12
  • C#使用linq查詢大數(shù)據(jù)集的方法

    C#使用linq查詢大數(shù)據(jù)集的方法

    這篇文章主要介紹了C#使用linq查詢大數(shù)據(jù)集的方法,涉及C#調(diào)用linq進(jìn)行數(shù)據(jù)查詢的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 基于WinForm實(shí)現(xiàn)通用自動(dòng)更新系統(tǒng)的完整流程

    基于WinForm實(shí)現(xiàn)通用自動(dòng)更新系統(tǒng)的完整流程

    在C/S架構(gòu)的應(yīng)用程序中,如何讓客戶端保持最新版本一直是個(gè)令人頭疼的問(wèn)題,每次更新都要通知用戶下載、安裝,不僅麻煩,還容易導(dǎo)致版本混亂,所以今天要介紹的,就是一個(gè)基于WinForm實(shí)現(xiàn)的通用自動(dòng)更新器方案,需要的朋友可以參考下
    2025-10-10
  • C#引用類型和值類型的適用場(chǎng)合和區(qū)別

    C#引用類型和值類型的適用場(chǎng)合和區(qū)別

    今天小編就為大家分享一篇關(guān)于C#引用類型和值類型的適用場(chǎng)合和區(qū)別,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • C#使用System.Net郵件發(fā)送功能踩過(guò)的坑

    C#使用System.Net郵件發(fā)送功能踩過(guò)的坑

    這篇文章主要介紹了C#使用System.Net郵件發(fā)送功能踩過(guò)的坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評(píng)論

安新县| 花莲市| 义马市| 通辽市| 思南县| 嵩明县| 峡江县| 杭锦后旗| 隆回县| 浦北县| 香河县| 景洪市| 康平县| 天水市| 邓州市| 文安县| 马尔康县| 濉溪县| 聊城市| 湘阴县| 临海市| 东至县| 新密市| 浦东新区| 丰台区| 射洪县| 武城县| 鄂温| 普格县| 珠海市| 承德市| 滕州市| 晋州市| 洪洞县| 扶绥县| 沿河| 茌平县| 桐柏县| 乌兰浩特市| 奉贤区| 伊川县|