0
我试图在C#中制作一个程序来监视应用程序的处理器时间。我想在这个程序中有一个功能,其中任务栏图标实际上是一个表示处理器时间的数字(比如coretemp的内容)。我会如何去做这样的事情?如何在C#中为任务栏图标更改数值?
我试图在C#中制作一个程序来监视应用程序的处理器时间。我想在这个程序中有一个功能,其中任务栏图标实际上是一个表示处理器时间的数字(比如coretemp的内容)。我会如何去做这样的事情?如何在C#中为任务栏图标更改数值?
您需要使用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();
}
好了,所以如果我读这个权利,我会做这样的事情: 位图B =新位图(Graphics.FromImage(someImage) ); Icon.fromHandle(b.getHIcon()); 我想我现在唯一担心的是如何获取图像本身 - 是否有任何简单的方法告诉C#将处理器时间值转换为要使用的图像?我看到这个的方式,并纠正我,如果我错了,Graphics.FromImage()insinuates我不得不自己制作数字图标。 尽管如此,感谢所有帮助。 (抱歉,如果上面的代码很难阅读,我不确定我是否可以在评论中插入代码块。) – Waffles 2010-05-21 04:11:28
哇,工作!非常感谢,我今天真的很了解这个。 :) – Waffles 2010-05-21 04:46:25