• ベストアンサー

VB6でCPU情報の取得

現在事情がありVB6の勉強をしております。 VB6でCPU情報を取得したいと思っているのですが、インターネット等を調べてもそれらしいものがありませんでした。 具体的にはシステムのプロパティを開いたときに表示されるCPUの種類とクロック数(他にもCPUに関する情報が取得できれば)が取得したいのですが、取得できる方法をご教示ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • korin_
  • ベストアンサー率69% (46/66)
回答No.1

この辺りが参考になると思います。 CPU情報を取得する(Win32_Processor) http://pwp1.atcms.jp/mokurin/index.php?WMI%2F%A5%CF%A1%BC%A5%C9%A5%A6%A5%A7%A5%A2 CPUの種類は objItem.Description クロック数は objItem.CurrentClockSpeed で良いと思います。 その他の情報を取得するにはこちらを参考にしてください。 http://msdn.microsoft.com/ja-jp/library/aa394373(en-us).aspx

その他の回答 (5)

  • korin_
  • ベストアンサー率69% (46/66)
回答No.6

こんにちは。 どうやら、OSのバグみたいです。 以下のリンク先から、修正プログラムがダウンロード出来ます。 http://support.microsoft.com/kb/953955/ja 修正プログラムを適用するには、Windows XP Service Pack 2 (SP2) または Windows XP Service Pack 3 (SP3) インストールが必要です。

rvll
質問者

お礼

korin_様 修正プログラムを適用することで正しいCPU名を取得することが できました。 ご丁寧に対応いただき、ありがとうございました。

  • korin_
  • ベストアンサー率69% (46/66)
回答No.5

こんにちは。 CPUの名前は、objItem.Name で取得できませんか? こちらには取得出来るプロパティ一覧がありますので参考にしてください。 http://msdn.microsoft.com/ja-jp/library/aa394373(en-us).aspx​

rvll
質問者

お礼

korin_様 ご教示ありがとうございます。 objItem.Name を試してみましたが、当方の使用しているCPUは Core 2 Duo E8500なのですが、 「Intel Pentium III Xeon プロセッサ」と取得されました。 ご呈示頂いたサイトにはCore 2 Duoの記述がなかったので この方法では最近のCPUには対応できないのでしょうか?

  • korin_
  • ベストアンサー率69% (46/66)
回答No.4

とりあえず、種類とクロック数を取得するように書いてみました。 ご参考にどうぞ。 Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Sub Command1_Click() Dim objItem As Object Dim colSettings As Object Set colSettings = _ GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _ ("select * from Win32_Processor") For Each objItem In colSettings Debug.Print objItem.Description Debug.Print objItem.MaxClockSpeed Next End Sub

rvll
質問者

補足

korin_様 ご返信ありがとうございます。 ご呈示頂いた方法でCPUの情報を取得できましたが、 CPU名の取得は無理なのでしょうか?

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

http://sakura.canvas.ne.jp/spr/mycroft/dat/vb/sysinfo.html というのがありました。 OSの問題でXP、Vistaは入っていませんが。 (当方仕様経験のあるものではありません。) その他 http://questionbox.jp.msn.com/qa678501.html >Windows APIでCPUのクロック数やwindowsのバージョンなどを 取得する事ができることはわかったのですが

  • korin_
  • ベストアンサー率69% (46/66)
回答No.2

すみません、間違えました。orz クロック数は objItem.MaxClockSpeed です。