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