3

c# 言語で wmi objecrs を使用しています。CPU 温度を取得するにはどうすればよいですか? 私のコード:

Select クエリが null 値を返し、サーチャー オブジェクトが null であるため foreach が機能しません。

try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_TemperatureProbe");

        foreach (ManagementObject queryObj in searcher.Get())
        {
            Console.WriteLine("-----------------------------------");
            Console.WriteLine("Win32_TemperatureProbe instance");
            Console.WriteLine("-----------------------------------");
            Console.WriteLine("CurrentReading: {0}", queryObj["CurrentReading"]);
        }
    }
    catch (ManagementException)
    {

    }

説明コードを教えてください。私はグーグルで検索していますが、良いコードが見つかりません。MSAcpi_ThermalZoneTemperature を使用していますが、エラーが発生しました。

よろしくお願いします

4

1 に答える 1

2

CurrentReading現在のリリースでは実装されていません。

ドキュメントから:

WMI クラスが提供する情報のほとんどは、Win32_TemperatureProbeSMBIOS から取得されます。プロパティのリアルタイムの読み取り値は、CurrentReadingSMBIOS テーブルから抽出できません。このため、WMI の現在の実装では、CurrentReadingプロパティは設定されません。CurrentReadingプロパティの存在は、将来の使用のために予約されています。

于 2013-06-03T14:12:36.063 に答える