请帮忙看看,CPU站用率代码错在那里? 更正:在我计算机上不断刷新还是'CPU:0%',而任务管理器中却有非零数值. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 float cpuLoad = pc.NextValue();label2.Text="CPU:"+ cpuLoad + " %"; 代码放在Timer1_tick事件里面,然后将Timer1的Enable设为true,interval设为1000,表示每一秒钟对CPU占用率做一次采样,然后打出来 PerformanceCounter pc= new PerformanceCounter(CategoryName,CounterName,InstanceName); float cpuLoad = pc.NextValue();label2.Text="CPU:"+ cpuLoad + " %";这部分代码我放在一个按钮事件下面,不停点按钮还是'CPU:0%'. PerformanceCounter pc= new PerformanceCounter(CategoryName,CounterName,InstanceName);不能放在按钮事件,放在Form1_Load里面! private const string CounterName = "% Processor Time";?我怎么没发现有呢?using System.Diagnostics;using System.Threading;...... private void Form1_Load(object sender, System.EventArgs e) { PerformanceCounterCategory[] myCat2; myCat2 = PerformanceCounterCategory.GetCategories(); for (int i=0;i<myCat2.Length;i++) { if("Processor" == myCat2[i].CategoryName) { Debug.WriteLine("CategoryName: "); Debug.Write(myCat2[i].CategoryName); Debug.WriteLine("CategoryName: "); string[] str =myCat2[i].GetInstanceNames(); for(int k=0;k< str.Length;k++) { Debug.WriteLine(k.ToString() + " " + str[k]); PerformanceCounter[] per = myCat2[i].GetCounters(str[k]); Debug.WriteLine("PerformanceCounter: "); for(int j=0;j<per.Length;j++) { Debug.WriteLine(" (" + j.ToString() + ") " +per[j].CounterName); } } } } }我输出的结果是:CategoryName: ProcessorCategoryName: 0 _TotalPerformanceCounter: (0) % Processor Time (1) % User Time (2) % Privileged Time (3) Interrupts/sec (4) % DPC Time (5) % Interrupt Time (6) DPCs Queued/sec (7) DPC Rate (8) % Idle Time (9) % C1 Time (10) % C2 Time (11) % C3 Time (12) C1 Transitions/sec (13) C2 Transitions/sec (14) C3 Transitions/sec1 0PerformanceCounter: (0) % Processor Time (1) % User Time (2) % Privileged Time (3) Interrupts/sec (4) % DPC Time (5) % Interrupt Time (6) DPCs Queued/sec (7) DPC Rate (8) % Idle Time (9) % C1 Time (10) % C2 Time (11) % C3 Time (12) C1 Transitions/sec (13) C2 Transitions/sec (14) C3 Transitions/sec ^_^,开始没注意,性能计数器名称里有"% Processor Time" 你写在winform下还是win32控制台应用程序下啊 ?你也没贴出你写在什么地方,如果在winform下要做一下改动的,如果不是,没什么错啊,我调试了一下。winfrom下 使用timer来替换sleep方法 ! C#调用Dephi的DLL疑问,在线等 .NET能否在linux中调用com组件? 返回文件夹打开权限 关于多表查询拆分的问题,各位老大进来救命啊 指定资源下载失败,大虾请帮忙,分不过,再加!!! 水晶报表单独布暑安装包(cr9netredist.zip)的注册码是什么? 自定义控件的序列化问题(不够分可再加) 求多线程插数据库的例子!! 在没有给托盘程序焦点的情况下,通过快捷键调出托盘程序? 当窗体的宽待变化是,让datagrid的宽度随窗体让datagrid中列的宽度也一起变化 在.Net中AppDomain到底表示什么??我总觉得这个东西很虚,看不清实质。 怎样做一个帮助文件?
label2.Text="CPU:"+ cpuLoad + " %";
代码放在Timer1_tick事件里面,然后将Timer1的Enable设为true,interval设为1000,表示每一秒钟对CPU占用率做一次采样,然后打出来
float cpuLoad = pc.NextValue();
label2.Text="CPU:"+ cpuLoad + " %";
这部分代码我放在一个按钮事件下面,不停点按钮还是'CPU:0%'.
不能放在按钮事件,放在Form1_Load里面!
我怎么没发现有呢?using System.Diagnostics;
using System.Threading;
......
private void Form1_Load(object sender, System.EventArgs e)
{
PerformanceCounterCategory[] myCat2;
myCat2 = PerformanceCounterCategory.GetCategories();
for (int i=0;i<myCat2.Length;i++)
{
if("Processor" == myCat2[i].CategoryName)
{
Debug.WriteLine("CategoryName: ");
Debug.Write(myCat2[i].CategoryName); Debug.WriteLine("CategoryName: ");
string[] str =myCat2[i].GetInstanceNames();
for(int k=0;k< str.Length;k++)
{
Debug.WriteLine(k.ToString() + " " + str[k]);
PerformanceCounter[] per = myCat2[i].GetCounters(str[k]);
Debug.WriteLine("PerformanceCounter: ");
for(int j=0;j<per.Length;j++)
{
Debug.WriteLine(" (" + j.ToString() + ") " +per[j].CounterName);
}
}
}
}
}
我输出的结果是:
CategoryName:
ProcessorCategoryName:
0 _Total
PerformanceCounter:
(0) % Processor Time
(1) % User Time
(2) % Privileged Time
(3) Interrupts/sec
(4) % DPC Time
(5) % Interrupt Time
(6) DPCs Queued/sec
(7) DPC Rate
(8) % Idle Time
(9) % C1 Time
(10) % C2 Time
(11) % C3 Time
(12) C1 Transitions/sec
(13) C2 Transitions/sec
(14) C3 Transitions/sec
1 0
PerformanceCounter:
(0) % Processor Time
(1) % User Time
(2) % Privileged Time
(3) Interrupts/sec
(4) % DPC Time
(5) % Interrupt Time
(6) DPCs Queued/sec
(7) DPC Rate
(8) % Idle Time
(9) % C1 Time
(10) % C2 Time
(11) % C3 Time
(12) C1 Transitions/sec
(13) C2 Transitions/sec
(14) C3 Transitions/sec
我调试了一下。
winfrom下 使用timer来替换sleep方法 !