Как я могу сделать изменение числового значения для значка панели задач в C #? - PullRequest
0 голосов
/ 21 мая 2010

Я пытаюсь создать программу на C #, которая отслеживает процессорное время приложения. Я хотел бы иметь функцию в этой программе, где значок на панели задач на самом деле представляет собой число, представляющее время процессора (например, как у coretemp). Как бы я поступил так, как это?

1 Ответ

2 голосов
/ 21 мая 2010

Вам необходимо использовать классы в пространстве имен 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());
}

Вы можете запустить это по таймеру, чтобы постоянно обновлять значок.

Вы можете получить использование процессора следующим образом:

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