vb點(diǎn)虐獲取硬件溫度 vb獲取文件屬性
如何用VB.Net進(jìn)行CPU溫度讀取
沒(méi)有命令可以查看CPU溫度,可以通過(guò)第三方軟件魯大師查看CPU溫度:
百度搜索魯大師,并進(jìn)行下載安裝;
運(yùn)行已安裝的軟件的,在界面中就能看到CPU溫度:
VB如何獲取硬件信息比如CPU溫度,顯卡,CPUID號(hào)之類(lèi)的、
??Dim?MemoyCounter?As?New?ComputerInfo()
???Dim?CPUCounter?As?New?PerformanceCounter("Processor",?"%?Processor?Time",?"_Total")
???Private?Sub?Timer1_Tick(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Timer1.Tick
????Dim?CPU?As?Double?=?CPUCounter.NextValue
????Dim?neicun?As?Double?=?(MemoyCounter.TotalPhysicalMemory?-?MemoyCounter.AvailablePhysicalMemory)?/?MemoyCounter.TotalPhysicalMemory?*?100%
獲取CPU及物理內(nèi)存使用率
VB 怎么獲取 CPU溫度和硬盤(pán)溫度
首先運(yùn)行VB 6中文版,建立一個(gè)標(biāo)準(zhǔn)的exe工程,將窗體命名為frmmain,borderstyle屬性設(shè)為:3-fixed,caption,屬性設(shè)置為空;接著添加一個(gè)frame控件——“frame1”,caption屬性設(shè)置為空,再添加picturebox控件pctPrg,前景色為綠色,背景色為淺紅色;最后添加一個(gè)定時(shí)器控件——“timer”,interval設(shè)置為100(當(dāng)然,也可以根據(jù)自己的需要設(shè)置讀取間隔),enabled設(shè)置為true,其他的屬性采用系統(tǒng)的默認(rèn)值,調(diào)整窗體和控件到適當(dāng)位置和適當(dāng)大小即可(參見(jiàn)附圖)。
2.編寫(xiě)程序代碼,雙擊窗體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
'獲取一個(gè)指定的注冊(cè)表項(xiàng)的設(shè)置值
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
'打開(kāi)一個(gè)指定的的注冊(cè)表項(xiàng)
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
'關(guān)閉系統(tǒng)注冊(cè)表中的指定項(xiàng)(或指定鍵)
Private Const REG_DWORD = 4
Private Const HKEY_DYN_DATA = H80000006
'這兩個(gè)常數(shù)是讀寫(xiě)注冊(cè)表必須的
'以上API函數(shù)和常數(shù)結(jié)合能夠?qū)崿F(xiàn)對(duì)注冊(cè)表任意指定項(xiàng)的訪問(wèn)
Private Avg As Long
'CPU 資源占用參數(shù)平均數(shù)
Private Sum As Long
'CPU 資源占用參數(shù)合計(jì)數(shù)
Private Index As Long '統(tǒng)計(jì)次數(shù)
'窗體級(jí)函數(shù)、常數(shù)和變量聲明結(jié)束
Private Function GetCPUUsage() As Long
On Error Resume Next
'忽略可能產(chǎn)生的錯(cuò)誤
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)
'打開(kāi)該主鍵
hRet = RegQueryValueEx(hKey, "KERNEL\CPUUsage", 0, REG_DWORD, Data, 4)
'讀取主鍵值
GetCPUUsage = Data
' 為自定義函數(shù)賦值
hRet = RegCloseKey(hKey)
'關(guān)閉該主鍵
End Function
Private Sub Form_Load()
'初始化標(biāo)題和提示信息
Dim hKey As Long, Data As Long
App.Title = "CPU監(jiān)視器 占有率:"
Me.Caption = App.Title
'初始化應(yīng)用程序標(biāo)題欄
pctPrg.ToolTipText = "單擊右鍵退出程序!"
RegOpenKey HKEY_DYN_DATA, "PerfStats\ StartStat", hKey
RegQueryValueEx hKey, "KERNEL\CPUUsage", 0, REG_DWORD, Data, 4
RegCloseKey hKey
'打開(kāi)注冊(cè)表的資源監(jiān)控標(biāo)識(shí)
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'程序結(jié)束前關(guān)閉定時(shí)器
Timer.Enabled = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
End'結(jié)束程序
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()
'利用定時(shí)器周期性地讀取資源狀況
'本程序每隔0.1秒讀取一次數(shù)據(jù)
Dim tmp As Long ' CPU資源占用狀況參數(shù)
tmp = GetCPUUsage '獲得參數(shù)
Me.Caption = App.Title FormatPercent(tmp / 100) '
'在窗體標(biāo)題欄用百分比數(shù)字形式反映占用率
Sum = Sum + tmp '累加統(tǒng)計(jì)
Index = Index + 1 '次數(shù)統(tǒng)計(jì)
Avg = Int(Sum / Index) ' 求平均值
pctPrg.Cls ' 清除圖示內(nèi)容
pctPrg.Line (0, 0)-(tmp, 18), , BF
'以綠色圖示資源占用狀況
pctPrg.Line (Avg, 0)-(Avg, 18), HFF
'以深紅色畫(huà)出平均線(xiàn)
pctPrg.Line (Avg + 1, 0)-(Avg + 1, 18), HFF
End Sub
'程序結(jié)束
通過(guò)以上步驟,裝備精良的CPU監(jiān)視器就制作完成了。
注意事項(xiàng)
需要說(shuō)明的是,在內(nèi)存配置較低的計(jì)算機(jī)中(比如內(nèi)存32MB,Windows 98第二版),CPU的占有率是較高的,一般能夠達(dá)到50%,這可能是由于系統(tǒng)需要CPU進(jìn)行許多的運(yùn)算模擬來(lái)彌補(bǔ)資源的不足。然而在88MB內(nèi)存,同樣操作系統(tǒng)的機(jī)器上,占有率一般只有10%。另外,本文主窗體中定時(shí)器運(yùn)行過(guò)程函數(shù)中調(diào)用的FormatPercent函數(shù)是VB 6.0新添加的一個(gè)函數(shù),它的作用是將一個(gè)表達(dá)式轉(zhuǎn)化成百分?jǐn)?shù)。用VB 5.0開(kāi)發(fā)的讀者需要采取其他變通方法,以實(shí)現(xiàn)監(jiān)控CPU功能。本程序在Windows 98第二版、VB 6.0中文企業(yè)版下測(cè)試通過(guò)。
上一篇:vb點(diǎn)虐入門(mén)書(shū)籍推薦 vbnet入門(mén)經(jīng)典
欄 目:vb.net
下一篇:沒(méi)有了
本文標(biāo)題:vb點(diǎn)虐獲取硬件溫度 vb獲取文件屬性
本文地址:http://mengdiqiu.com.cn/a1/vb_net/17058.html
您可能感興趣的文章
- 04-02vb點(diǎn)虐入門(mén)書(shū)籍推薦 vbnet入門(mén)經(jīng)典
- 04-02vb點(diǎn)虐仿qq軟件 vb模擬
- 04-02vb點(diǎn)虐執(zhí)行打開(kāi)文件 vb中打開(kāi)文件的命令
- 04-02vb點(diǎn)虐教程下載 vb net從入門(mén)到精通
- 04-02vb點(diǎn)虐自己的句柄 vbnet implements
- 04-02vb點(diǎn)虐類(lèi)引用窗體 vbnet instr
- 04-02包含vb點(diǎn)虐l(fā)oad的詞條
- 04-02vb點(diǎn)虐用啥編譯器 vb用什么編譯器好
- 04-02類(lèi)的繼承vb點(diǎn)虐 類(lèi)的繼承關(guān)系


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 04-02vb點(diǎn)虐獲取硬件溫度 vb獲取文件屬性
- 04-02vb點(diǎn)虐仿qq軟件 vb模擬
- 04-02vb點(diǎn)虐入門(mén)書(shū)籍推薦 vbnet入門(mén)經(jīng)典
- 04-02vb點(diǎn)虐教程下載 vb net從入門(mén)到精通
- 04-02vb點(diǎn)虐執(zhí)行打開(kāi)文件 vb中打開(kāi)文件的命
- 04-02vb點(diǎn)虐自己的句柄 vbnet implements
- 04-02包含vb點(diǎn)虐l(fā)oad的詞條
- 04-02vb點(diǎn)虐類(lèi)引用窗體 vbnet instr
- 04-02vb點(diǎn)虐用啥編譯器 vb用什么編譯器好
- 04-02類(lèi)的繼承vb點(diǎn)虐 類(lèi)的繼承關(guān)系
隨機(jī)閱讀
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 04-02jquery與jsp,用jquery
- 01-10delphi制作wav文件的方法
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置