プロセッサ(CPU)情報を取得するには
<システムインフォメーション表示ソフトを作ろう>
宣 言 |
(Private) Type SYSTEM_INFO dwOemID As Long dwPageSize As Long lpMinimumApplicationAddress As Long lpMaximumApplicationAddress As Long dwActiveProcessorMask As Long dwNumberOrfProcessors As Long dwProcessorType As Long dwAllocationGranularity As Long wProcessorLevel As Integer wProcessorRevision As Integer End Type (Private) Declare Sub GetSystemInfo Lib "kernel32" (SystemInfo As SYSTEM_INFO) |
SYSTEM_INFO構造体に関する説明(一部省略) |
要素名 | 機能 | 使用頻度 |
dwPageSize | 使われているページサイズ。ページの保護と委託も指定する。 | C |
lpMinimumApplicationAddress | アプリケーションとダイナミックリンクライブラリ(DLL)がアクセスしうる最も低いメモリアドレスを格納する。 | C |
pMaximumApplicationAddress | アプリケーションとDLLがアクセスしうる最も高いメモリアドレスを格納する。 | C |
dwActiveProcessorMask | システムで使用可能なプロセッサのセットを表すマスクを格納する。ビットゼロがセットされていれば、プロセッサゼロを表す。 | C |
dwNumberOfProcessors | このシステムのプロセッサの数。 | B |
wProcessorLevel | プロセッサ名を格納する。3なら386、4なら486、5ならPentium。 | A |
wProcessorRevision | プロセッサのバージョンを指定する。 | A |
サ ン プ ル プ ロ グ ラ ム |
まず、VisualBasicを起動してプロジェクトを新しく作成してください。まず、次のコードを貼り付け実行してください。メッセージを表示して終了します。
動作確認:Visual Basic 5.0(Visual Basic 4.0でも問題なく動作するはずです),Windows98
Private Type SYSTEM_INFO '構造体の宣言 dwOemID As Long dwPageSize As Long lpMinimumApplicationAddress As Long lpMaximumApplicationAddress As Long dwActiveProcessorMask As Long dwNumberOrfProcessors As Long dwProcessorType As Long dwAllocationGranularity As Long wProcessorLevel As Integer wProcessorRevision As Integer End Type Private Declare Sub GetSystemInfo Lib "kernel32" (SystemInfo As SYSTEM_INFO) 'APIの宣言 Private Sub Form_Load() Dim System As SYSTEM_INFO '変数の宣言 Dim CPU As String GetSystemInfo System '情報の取得 Select Case System.wProcessorLevel '数値からプロセッサ名を得る Case 3 CPU = "Intel 386系" Case 4 CPU = "Intel 486系" Case 5 CPU = "Intel Pentium系" Case Else CPU = "その他" End Select '結果を表示 MsgBox "プロセッサ名:" + CPU + Chr(13) + "プロセッサバージョン:" + Str(System.wProcessorRevision) End End Sub |