VBでハードの温度
投稿者 るしぇ  ()
投稿日時
2008/8/25 19:34:00
とりあえず
>161. CPU温度の取得ってできるでしょうか?
ttp://rucio.bbs.coocan.jp/?m=listthread&t_id=161&summary=on
>161. CPU温度の取得ってできるでしょうか?
ttp://rucio.bbs.coocan.jp/?m=listthread&t_id=161&summary=on
投稿者 Naruki  ()
投稿日時
2008/8/25 20:18:00
>>1
申し訳ないですが、英語なので読むのはきびしいです。
ほんとに初心者なので・・・
やっぱりむずかしいのでしょうか?
ソフトをダウンロードして、ソフトを動かせば、CPUの温度は出ますが、自分のソフトにも入れたいので・・・
申し訳ないですが、英語なので読むのはきびしいです。
ほんとに初心者なので・・・
やっぱりむずかしいのでしょうか?
ソフトをダウンロードして、ソフトを動かせば、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が停止されていたら動かないと思いますし…。
このような場合は、とりあえずプログラムをコピーして動かしてみる→動かなかったら頑張って英語を読むという流れでいいと思います。
今回はそのままで動くケースでしたが、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
まだこのレベルで、作るのはきびしかったようです。
(プログラムをみても全然分からないですし。)
すこしずつ覚えて、忘れたころに挑戦して見たいとおもいます。ご回答ありがとうございました。
(プログラムをみても全然分からないですし。)
すこしずつ覚えて、忘れたころに挑戦して見たいとおもいます。ご回答ありがとうございました。
それを、Textbox や label に表示出来ますか?
初心者ですが、お願いします。
バージョン:Visual Basic 2008 Express Edition
O S :Windows XP Service Pack 3