<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 學習電腦 > 電腦硬件知識 > CPU知識 > 怎么獲取CPU的溫度

        怎么獲取CPU的溫度

        時間: 沈迪豪908 分享

        怎么獲取CPU的溫度

        你知道如何獲取CPU的溫度嗎?跟著學習啦小編一起學習獲取CPU的溫度的方法吧。

          作為一個系統級程序員或者編程愛好者,掌握一些系統的高級編程技巧是非常有意義的。本文將介紹如何利用一些高級的編程技巧來實現動態監控。

          雖然Windows 98“系統工具”中的“資源狀況”程序能夠監視CPU的資源占用狀況,但是那些相關的數據卻無法傳遞到我們自己的程序中。為此,筆者用VB 6編寫了一個具有上述功能的CPU監視軟件,它可以實現對CPU資源狀況的監視并取得有關數據,并且能夠顯示到一個精致的圖示窗口中。

          編程原理

          CPU的資源占用情況真正反映在CMOS中,但是如果我們直接從這里開始編程,那將是一件非常復雜的工作。幸好,Windows 98已經幫我們做好了這一步,它的底層技術能夠從CMOS中獲取CPU的資源占用狀況參數并且記錄到注冊表中“HKEY_DYN_DATA\PerfStats\StatData”的分支“KERNEL\CPUUsage”中,通過周期性地讀取該鍵的鍵值,并且將參數傳遞到我們自己制作的監視器界面或者有關變量中,就可以即時獲得并反映出CPU的使用狀況了。

          本程序的關鍵是以通用的方法獲取相關鍵值并反映輸出到自制的動態進度監視器上,為了更有利于觀察、分析,我們將添加一個簡單的趨勢分析平均線。通過本文,初學者還將能了解如何從注冊表的指定項獲取數據和利用Picture控件實現進度指示器的編程技巧。

          獲取CPU的溫度的方法

          1.設計程序界面

          首先運行VB 6中文版,建立一個標準的exe工程,將窗體命名為frmmain,borderstyle屬性設為:3-fixed,caption,屬性設置為空;接著添加一個frame控件——“frame1”,caption屬性設置為空,再添加picturebox控件pctPrg,前景色為綠色,背景色為淺紅色;最后添加一個定時器控件——“timer”,interval設置為100(當然,也可以根據自己的需要設置讀取間隔),enabled設置為true,其他的屬性采用系統的默認值,調整窗體和控件到適當位置和適當大小即可(參見附圖)。

          2.編寫程序代碼,雙擊窗體frmmain并輸入以下代碼

          Option Explicit '變量檢查

          Private Declare Function RegQueryValueEx Lib "advapi32.dll " Alias "RegQueryValueExA " (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long

          '獲取一個指定的注冊表項的設置值

          Private Declare Function RegOpenKey Lib "advapi32.dll " Alias "RegOpenKeyA " (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

          '打開一個指定的的注冊表項

          Private Declare Function RegCloseKey Lib "advapi32.dll " (ByVal hKey As Long) As Long

          '關閉系統注冊表中的指定項(或指定鍵)

          Private Const REG_DWORD = 4

          Private Const HKEY_DYN_DATA = &&H80000006

          '這兩個常數是讀寫注冊表必須的

          '以上API函數和常數結合能夠實現對注冊表任意指定項的訪問

          Private Avg As Long

          'CPU 資源占用參數平均數

          Private Sum As Long

          'CPU 資源占用參數合計數

          Private Index As Long '統計次數

          '窗體級函數、常數和變量聲明結束

          Private Function GetCPUUsage() As Long

          On Error Resume Next

          '忽略可能產生的錯誤

          Dim Data As Long, Typ As Long, Size As Long

          Dim hKey As Long

          Dim hRet As Long

          hRet = RegOpenKey(HKEY_DYN_DATA, "PerfStats\StatData ", hKey)

          '打開該主鍵

          hRet = RegQueryValueEx(hKey, "KERNEL\CPUUsage ", 0&&, REG_DWORD, Data, 4)

          '讀取主鍵值

          GetCPUUsage = Data

          ' 為自定義函數賦值

          hRet = RegCloseKey(hKey)

          '關閉該主鍵

          End Function

          Private Sub Form_Load()

          '初始化標題和提示信息

          Dim hKey As Long, Data As Long

          App.Title = "CPU監視器 占有率: "

          Me.Caption = App.Title

          '初始化應用程序標題欄

          pctPrg.ToolTipText = "單擊右鍵退出程序! "

          RegOpenKey HKEY_DYN_DATA, "PerfStats\ StartStat ", hKey

          RegQueryValueEx hKey, "KERNEL\CPUUsage ", 0, REG_DWORD, Data, 4

          RegCloseKey hKey

          '打開注冊表的資源監控標識

          End Sub

          Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

          '程序結束前關閉定時器

          Timer.Enabled = False

          End Sub

          Private Sub Form_Unload(Cancel As Integer)

          End '結束程序

          End Sub

          Private Sub pctPrg_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

          '右鍵單擊退出程序

          If Button = 2 Then

          Unload Me

          End If

          End Sub

          Private Sub Timer_Timer()

          '利用定時器周期性地讀取資源狀況

          '本程序每隔0.1秒讀取一次數據

          Dim tmp As Long ' CPU資源占用狀況參數

          tmp = GetCPUUsage '獲得參數

          Me.Caption = App.Title && FormatPercent(tmp / 100) '

          '在窗體標題欄用百分比數字形式反映占用率

          Sum = Sum + tmp '累加統計

          Index = Index + 1 '次數統計

          Avg = Int(Sum / Index) ' 求平均值

          pctPrg.Cls ' 清除圖示內容

          pctPrg.Line (0, 0)-(tmp, 18), ,&& BF

          '以綠色圖示資源占用狀況

          pctPrg.Line (Avg, 0)-(Avg, 18), &&HFF

          '以深紅色畫出平均線

          pctPrg.Line (Avg + 1, 0)-(Avg + 1, 18), &&HFF

          End Sub

          '程序結束

          通過以上步驟,裝備精良的CPU監視器就制作完成了。

          注意事項

          需要說明的是,在內存配置較低的計算機中(比如內存32MB,Windows 98第二版),CPU的占有率是較高的,一般能夠達到50%,這可能是由于系統需要CPU進行許多的運算模擬來彌補資源的不足。然而在88MB內存,同樣操作系統的機器上,占有率一般只有10%。另外,本文主窗體中定時器運行過程函數中調用的FormatPercent函數是VB 6.0新添加的一個函數,它的作用是將一個表達式轉化成百分數。用VB 5.0開發的讀者需要采取其他變通方法,以實現監控CPU功能。本程序在Windows 98第二版、VB 6.0中文企業版下測試通過。

        怎么獲取CPU的溫度相關文章:

        1.怎么看cpu的溫度

        2.在線查看cpu溫度

        3.如何查看cpu溫度

        4.臺式機溫度如何檢測

        5.怎么利用BIOS查看主機內的溫度

        6.檢測CPU溫度的方法

        2018888 主站蜘蛛池模板: 丁香婷婷综合激情五月色| 国产精品理论片| 蜜臀av在线无码国产| 蜜臀av午夜精品福利| 亚洲av无码牛牛影视在线二区| 亚洲色大成网站www在线| 99国产精品自在自在久久| 天天摸夜夜添狠狠添高潮出免费| 免费 黄 色 人成 视频 在 线| av在线 亚洲 天堂| 久久一级黄色大片免费观看| 光棍天堂在线手机播放免费| 97色伦97色伦国产| 国产黄色大片网站| 亚洲欧美成人a∨观看| 六十路老熟妇乱子伦视频| 亚洲一区二区女优av| 一区二区中文字幕久久| 亚洲综合精品一区二区三区| 在线国产极品尤物你懂的| 狠狠色综合久久丁香婷婷| 中文字幕精品无码一区二区| 国产精品无码无卡在线观看久 | 成人国产精品一区二区免费麻豆 | 人妻熟女久久久久久久| 亚洲精品人妻中文字幕| 无码人妻一区二区三区精品视频| 久久精品国产亚洲夜色av| 国产热A欧美热A在线视频| 国产亚洲精品久久久久婷婷图片 | 亚洲欧美高清在线精品一区二区| 69天堂人成无码免费视频| 欧美极品色午夜在线视频| 国产综合色一区二区三区| 在国产线视频A在线视频| 久久天天躁狠狠躁夜夜躁2020 | 国产99视频精品免费视频36| 国产精品色婷婷亚洲综合看片| 午夜久久水蜜桃一区二区| 亚洲精品拍拍央视网出文| 国产精品日韩中文字幕熟女|