8

c#を使用してBIOSからCPU温度情報を取得する方法CPU温度監視のコードを試してみました

しかし、運はありません。'enumerator.Current'は例外をスローしました。

どうすればこれを達成できますか?ありがとう。

エラー :

「このシステムは、必要なWMIオブジェクトをサポートしていません(1)-例外ファイルを確認してください\ r\nサポートされていません\r\ n \ r \ n System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)\ r \ n at System .Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()\ r \ n at CedarLogic.WmiLib.SystemStatistics.RefreshReadings()in D:\ Downloads \ TempMonitorSrc \ TemperatureMonitorSln \ WmiLib \ SystemStatistics.cs:line 25 \ r \ n at CedarLogic.WmiLib .SystemStatistics.get_CurrentTemperature()in D:\ Downloads \ TempMonitorSrc \ TemperatureMonitorSln \ WmiLib \ SystemStatistics.cs:line 87 \ r \ n at TemperatureMonitor.SystemTrayService.CheckSupport()in D:\ Downloads \ TempMonitorSrc \ TemperatureMonitorSln \ TemperatureMonitor \ SystemTray cs:line 260 "

4

3 に答える 3

2

温度データを収集するには、多くの異なるハードウェアセンサーをサポートする必要があります。より良い方法は、次のようなソリューションを使用する準備をすることです。

1)オープンハードウェアモニター-オープンソースの.NET 2.0アプリケーション:

http://openhardwaremonitor.org/

2)CoreTemp-温度データを取得するための無料のアプリケーションと.NETAPI:

http:// www.alcpu.com/CoreTemp/developers.html

于 2010-09-03T07:08:34.547 に答える
1

このスレッドは古いことは知っていますが、少し異なるアプローチで追加したいと思いました。マザーボード上のI/Oチップからメーカー/モデルを入手し、そのI / Oチップのデータシートを入手します(ここでは参照用にITE IT8783Fチップを使用します)。環境コントローラーのようなものの下を見て、アクセスポートと読み取りポートを計算します。はい... HEX、MSB、LSBを理解する必要があります。ここでは、計算/説明については説明しません(範囲外)。ここで、この例では、アクセスポートは295で、読み取りポートは296です。このセクションのさらに下を読むと、環境コントローラーレジスタのテーブルがあります。この場合、CPU温度はレジスタ2Ah(または0x2A)にあります。したがって、情報を取得するために使用したVB / C#コードは次のようになります。

Private Function GetCPUTemp() As UInt32
    Dim tCpu As UInt32
    Dim stCpu As Short
    PortAccess.Outputb(&H295, &H2A)
    stCpu = PortAccess.Inputb(&H296)
    tCpu = CType(stCpu, UInt32)
    Return tCpu
End Function

今、あなたはそれで何をしたいのかを理解する必要があります。クレイジーな奇抜な数値を取得していることに気付いた場合は、間違ったレジスタからプルしているか、スケーリング係数を実装する必要がある可能性があることを忘れないでください(電圧測定値の場合と同様)。これもデータシートに記載されているはずです。

于 2012-04-03T13:53:14.310 に答える
0

次のアプローチをお勧めします。CPU温度を監視して表示する無料のアプリケーションがいくつかあります。いくつかをダウンロードしてから、アプリケーションを分析して、それらがどのように機能するかを見つけるために、それらが呼び出しているメソッドを確認してください。たぶん、彼らはあなたの既存のものとは非常に異なるアプローチを持っています。また、あなたは彼らに電子メールを送って、彼らがそれをどのようにしたかを尋ねることができるかもしれません...

http://www.alcpu.com/CoreTemp/

http://www.techpowerup.com/realtemp/

http://malektips.com/core-temp-cpu-windows-system-tray-taskbar.html

于 2010-09-03T00:34:31.647 に答える