投稿者 るきお  () 投稿日時 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が停止されていたら動かないと思いますし…。