.net獲取系統性能計數器數據

<< VB.Net 使用 PerformanceCounter 的寫法 >>

 

Imports System.Diagnostics ' 匯入System.Diagnostics 命名空間

 

Public Class Form1

 

    ' 宣告並建立"效能計數器元件" 類別

    ' New PerformanceCounter(CategoryName,CounterName,InstanceName)

    Private PfmcCounter As New PerformanceCounter("Processor", "% Processor Time", "_Total")

    ' CategoryName : 取得或設定這個效能計數器的效能計數器分類的名稱。

    ' CounterName : 取得或設定與這個PerformanceCounter 執行個體相關的效能計數器的名稱。

    ' InstanceName : 取得或設定這個效能計數器的執行個體名稱。

 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Timer1.Interval = 900 ' Timer.Interval 屬性:  取得或設定引發Elapsed 事件的間隔。

        Timer1.Enabled = True ' 啟動Timer

    End Sub

 

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

        ' PerformanceCounter.NextValue 方法: 取得計數器樣本,並為其傳回計算過的值。

        Label1.Text = PfmcCounter.NextValue.ToString & " %"

    End Sub

 

End Class

 

 

================================================================

 

 

<< VB.Net 使用 WMI 的寫法 >>

 

Dim objWMI As Object

 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Timer1.Interval = 500

    Timer1.Enabled = True

    objWMI = GetObject("winmgmts:")

End Sub

 

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick ' Timer 事件

    CPU_Usage()

End Sub

 

Private Sub CPU_Usage() ' WMI 取得 CPU 使用率

    Dim strCls, strCPU As String

    strCls = "Win32_Processor" ' WMI 類別

    strCPU = "CPU0" ' 當有多顆 CPU , 可調整為 CPU1 , CPU2 .. 依此類推

    Debug.WriteLine(objWMI.InstancesOf(strCls)(strCls & ".DeviceID=""" & strCPU & """").LoadPercentage) ' 取得使用率

End Sub

轉貼自 http://blog.blueshop.com.tw/HammerChou/

 
發佈了38 篇原創文章 · 獲贊 4 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章