如何在C#中为任务栏图标更改数值?

时间:2010-05-21 03:50:53

标签: c# .net winforms taskbar

我正在尝试用C#编写一个程序来监视应用程序的处理器时间。我想在这个程序中有一个功能,其中任务栏图标实际上是一个代表处理器时间的数字(就像coretemp所拥有的那样)。我该如何做这样的事情?

1 个答案:

答案 0 :(得分:2)

您需要使用System.Drawing命名空间中的类。

创建Bitmap,使用Graphics.FromImage进行绘制,然后拨打Icon.FromHandle(myBitmap.GetHicon())
然后,您可以将图标设置为表单的Icon属性。

编辑:像这样:

using (var image = new Bitmap(16, 16)) 
using (var g = Graphics.FromImage(image)) {
    g.DrawString(...);
    myForm.Icon = Icon.FromHandle(image.GetHicon());
}

您可以在计时器中运行此程序以不断更新图标。

您可以像这样获得CPU使用率:

int usage;
using (var cpu = new PerformanceCounter("Processor", "% Processor Time", "_Total")) {
    cpu.NextValue();            //First value is 0
    usage = cpu.NextValue();
}