用c#监控并显示cpu状态信息_c#应用
2008-02-23 05:42:46来源:互联网 阅读 ()
简介
本文将介绍一种简单的方法来显示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; namespace CpuUsageTest private void Form1_Load(object sender, EventArgs e) } private void timer1_Tick(object sender, EventArgs e) |
简单吧,在此只需添加IDE默认生成之外的很少代码,主要是Tick事件的处理程式,在这两行代码中,进度条被设为显示从性能计数器得来的值,标签控件由传递给进度条的值更新,而这两个值都在每次Tick事件触发时更新。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash