VBでハードの温度

タグの編集
投稿者 naruki  () 投稿日時 2008/8/24 23:38:00
タイトルどおり、VBでCPUやHDDの温度を調べる方法があると聞いたのですが、どうすれば出来ますか? 
 
それを、Textbox や label に表示出来ますか? 
 
初心者ですが、お願いします。 
 
バージョン:Visual Basic 2008 Express Edition 
 O S :Windows XP Service Pack 3
投稿者 るしぇ  () 投稿日時 2008/8/25 19:34:00
とりあえず 
>161. CPU温度の取得ってできるでしょうか? 
ttp://rucio.bbs.coocan.jp/?m=listthread&t_id=161&summary=on
投稿者 Naruki  () 投稿日時 2008/8/25 20:18:00
>>1 
申し訳ないですが、英語なので読むのはきびしいです。 
ほんとに初心者なので・・・ 
 
やっぱりむずかしいのでしょうか? 
ソフトをダウンロードして、ソフトを動かせば、CPUの温度は出ますが、自分のソフトにも入れたいので・・・
投稿者 るきお  () 投稿日時 2008/8/25 21:47:00
英語でも日本語でもプログラムは同じだから活用しない手はないです。 
このような場合は、とりあえずプログラムをコピーして動かしてみる→動かなかったら頑張って英語を読むという流れでいいと思います。 
 
今回はそのままで動くケースでしたが、System.Managementへの参照は追加する必要があります。また、冒頭にImport System.Managementも付加しました。 
 
Imports System.Management 
 
Public Class Form1 
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
        Try 
 
            Dim searcher As New ManagementObjectSearcher("root\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature") 
 
            For Each queryObj As ManagementObject In searcher.Get() 
 
                Dim temp As Double = CDbl(queryObj("CurrentTemperature")) 
 
                temp = (temp - 2732) / 10.0 
 
                MessageBox.Show(temp.ToString) 
 
            Next 
 
        Catch err As ManagementException 
 
            MessageBox.Show("An error occurred while querying for WMI data: " & err.Message) 
 
        End Try 
 
    End Sub 
 
End Class 
 
なお、 
My.Computer.CPU.Temperatureみたいな便利メソッドは存在しないのでCPUの温度取得は簡単ではないと思います。それに、CPU側がこの機能に対応していないとダメですよね(多分)?加えてWMIが停止されていたら動かないと思いますし…。
投稿者 Naruki  () 投稿日時 2008/8/25 22:07:00
まだこのレベルで、作るのはきびしかったようです。 
(プログラムをみても全然分からないですし。) 
 
すこしずつ覚えて、忘れたころに挑戦して見たいとおもいます。ご回答ありがとうございました。