5

Windows でバッテリー温度を取得したいのですが、BatteryTemperature でDeviceIoControl 関数 ( http://msdn.microsoft.com/en-us/library/aa372698(v=vs.85).aspx ) を試しました。

BatterySerialNumber などの他のパラメーターを試してみたところ、シリアル番号が返されましたが、温度を取得したいときに関数が FALSE を返しました。GetLastError は S_FALSE を返します。

私の環境は Win7 Enterprise SP1 で、VS2008+SP1 で開発しました。総 C++ コードで、ラップトップは HP Elitebook 2570p です。誰でもこのトピックについて提案できますか。Google を検索しましたが、ヘルプ トピックが見つかりません。または、温度を取得するためのドライバー コードを作成する必要がありますか? または、このノートパソコンのバッテリーはこの機能をサポートしていませんか?

どうもありがとう。

PS。C ++だけでなく、温度を取得できる他の技術があれば大歓迎です。

4

2 に答える 2

1

GetLastError によって返される S_FALSE も 1 であり、これも ERROR_INVALID_FUNCTION です。MSDN からの抜粋:

要求された特定のタイプのデータが現在のバッテリーで利用できない場合、ERROR_INVALID_FUNCTION が返されます。

これは、バッテリに温度センサーがないこと、またはバッテリ ドライバを作成した製造元がこの情報を Windows に提供しないことを決定したことを意味します。

于 2017-02-20T18:03:49.180 に答える