プロセッサ(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

トップに戻る
Visual Basicワンポイントテクニック目次に戻る

楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル