いつもご参考にさせて頂いております。
早速、質問なのすが、
WindowsApplicationで、
CPUの2次キャッシュを使用しているPCのスペックに合わせるように、
レジストリを書き換えるプログラムを作成しております。
そこで、Form_Load時に2次キャッシュの容量を取得し、
ラベルかテキストボックスに表示させたいと思っております。
そのため、2次キャッシュの容量を取得を取得するコードを色々調べたのですが、中々見つからないのでわかる方がおりましたら、ぜひ教えて下さい。
お願いします。
自分で調べて、唯一参考になりそうだったのが、
コマンドプロンプトで、
C:\>wmic Memcache get maxcachesize,description
と入力しまして、容量を取得するものなのですが、これは、
wmicをインストールしないといけなくて、ローカルのマシンだと、
wmicがマシンに持ってこれなくて、取得できませんでした。
ローカルのみで取得したいので、お願いします。
使用している環境は、
Visual Studio 2005
.NET framework2.0
XP Pro
です。よろしくお願いします。
すみません、言語を記述し忘れました。
言語は、VB.NETです。
よろしくお願いします。
一応できるようです。
http://www.shise.net/wiki/wiki.cgi?page=C%23%2F%A5%E1%A5%E2%2FWMI
参考まで・・・
以上。
オショウ様、無事解決いたしました。
誠にありがとうございました。
一応、完成コードを記載しておきます。
本当にありがとうございました。
(完成コード)
前提として、参照の追加から、「System Management」を参照しておく。
Imports System.Management 'Windowsのシステム情報を管理しているクラス
Private Sub _01_L2Cache_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'WMIで取得した中で、更にどの情報を取得するか指定し、それを変数に入れる(2次キャッシュの容量)
Dim MyProcessor As New ManagementObjectSearcher("select L2CacheSize from Win32_Processor")
'ManagementObjectのインスタンスを作成
Dim MyMOC As ManagementObject
'インスタンスから、2次キャッシュの容量を取得し、Labelに表示させる
For Each MyMOC In MyProcessor.Get
'L2Cache_Size_lblに表示させる
L2Cache_Size_lbl.Text = "このPCの2次キャッシュの容量は、" & (MyMOC("L2CacheSize")) & "KBです。"
Next MyMOC
以上で、ラベルに2次キャッシュの容量を表示させることができました。
最後にオショウ様、本当にありがとうございました。