国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用C#監控并顯示CPU狀態信息

2019-11-18 16:29:43
字體:
來源:轉載
供稿:網友

  簡介

  本文將介紹一種簡單的方法來顯示CPU的狀態信息,示例演示了怎樣顯示CPU消耗的處理器時間百分比,它是通過配置一個性能計數器,并用一個標準進度條控件及標簽控件周期性輪詢處理器時間百分比。

  圖1:顯示CPU處理器時間

  這個示例還能用于監控單臺計算機上的多個處理器,僅僅通過在運行時取得CPU數(System.Environment.PRocessorCount可返回這個值),并動態添加Performance Monitor控件,讓其各自監控一個CPU就可以了。

  還可以對文中的方法進行擴展,如下面就是一個使用了Dundas .NET Gauge Control控件,并顯示了Intel迅馳雙核處理器的程序截圖,雖然在文中沒有包含這個例子,但思路都是一樣的。

  圖2:在雙核系統中監控每一個處理器

  開始工程

  在Visual Studio 2005中新建一個WinForm(Windows窗體應用程序)工程——這個窗體用于顯示CPU信息,且解決方案沒有引用除默認之外的其他庫。圖3為解決方案資源瀏覽器中的工程:

  圖3:解決方案資源瀏覽器

  程序的主窗體由下列標準工具箱控件組成:

  ² 一個組框控件

  ² 一個標簽控件

  ² 一個進度條控件

  ² 一個PerformanceCounter控件

  ² 一個定時器控件

  組框控件用于包含其他的控件;進度條控件設為顯示從0至100間的數值,步長屬性設為1;標簽控件用于顯示進度條的當前數值;而進度條則代表了PerformanceCounter控件捕捉到的處理器時間百分比;進度條與標簽控件都由定時器控件的Tick事件處理程序更新;定時器設置為每10000毫秒調用Tick事件處理程序,并且在程序初始化時就開始計時了。

  PerformanceCounter控件的屬性設為捕捉處理器時間百分比,可以用代碼設置,也可以在IDE中的屬性欄里設置,在本例中,是在屬性欄里設置,如下圖所示:

  圖4:Performance Counter控件屬性

  上圖中,屬性CategoryName被設為“Processor”,屬性CounterName被設為“% Processor Time”,且InstanceName設為“_Total”。如果要監控單個處理器的狀態,屬性InstanceName需設為指向某個特定的處理器(比如說0或1)。

  設置完這些屬性之后,還需要編寫一些代碼,下面就是程序主窗體的代碼:

以下是引用片段:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace CpuUsageTest
{
    public partial class frmCpuUsage : Form
    {
        public frmCpuUsage()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            progressBar1.Value = (int)(performanceCounter1.NextValue());
            label1.Text = "Processor Time: " +
                          progressBar1.Value.ToString() + "%";
        }
    }
}

  簡單吧,在此只需添加IDE默認生成之外的很少代碼,主要是Tick事件的處理程序,在這兩行代碼中,進度條被設為顯示從性能計數器得來的值,標簽控件由傳遞給進度條的值更新,而這兩個值都在每次Tick事件觸發時更新。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屏边| 静宁县| 石景山区| 两当县| 来宾市| 五常市| 延寿县| 洪泽县| 苏尼特右旗| 浏阳市| 洛南县| 延长县| 农安县| 连江县| 炎陵县| 平潭县| 永兴县| 宁波市| 云浮市| 梁山县| 罗源县| 鹤山市| 勃利县| 清涧县| 化德县| 广昌县| 乾安县| 三穗县| 丹阳市| 崇信县| 澄城县| 阳曲县| 绍兴市| 永吉县| 逊克县| 额敏县| 漳平市| 湘潭市| 寿阳县| 文化| 泸州市|