我想要問一個問題,由於我想要製作一個App來偵測像是CPU溫度啦,RAM使用率等等,但是都沒辦法用,就說這個項目沒有存在啦等等,假如把Performance Counter 從工具箱裡拖出來,App連開都不能開,用程式碼寫,原本應該是幾%幾%這樣的,卻是便是System.Diagnostic.PerformanceCounter
查過網路了,要把System.Diagnostic打開,但是卻沒辦法用,一樣...
還有,從工具箱拖出來的Performance Counter的Category Name 都沒有下拉式選單...網看網路上都有ㄟ???
==========圖片==========
http://imgur.com/8sxx9bR
http://imgur.com/XDxWPz5
呼叫PerformanceCounter class的categoryName、counterName之類的列表,是硬件的資料(不是.net framework的資料),當然不會出現在工具箱的選單內。但是,這些資料是可以在windows的[效能監視器]內看到。
至於要偵測像是CPU溫度,就比較困難,原因是這些資料是chipset製造商自定義,然後經過WMI上傳的。
下面有2個例子,可以給你參考。
A Simple Performance Counter Application
CPU Temperature & System Information
我知道...他是從硬體抓的...但是我用那個第一個A Simple Performance Counter Application那個我試過啦,跟我先前用過的依樣,像是我用RamUsage.Text = ramCounter.ToString() + MB
他那個ramCounter.ToString()就會變成System.Diagnostic.PerformanceCounter...
我有試過System.Management,但是溫度就一直在29.8 度...
應該用 RamUsage.Text = ramCounter.NextValue().ToString() + "%";
至於CPU温度,可以把你那段code放上來嗎?
好...等我一下下
你的代碼基本上跟WMI code creater相同,我用[管理員權限]在電腦試過,也是不能取得CPU温度。
但是,我試過CPU Temperature & System Information的方法,是可以取得大部份的WMI資料(包括CPU温度),但是必須用[管理員權限]來運行。
其實,它的方法是從Open hardware monitor改過來的,這個dll是很靈活的,可以讀取一個或多個WMI class的資料。
歐歐,我有用管理員權限了。。過兩天我試試,可行的話就上最佳解答囉xDDDD