OSを判別する方法
◆概要
このページは、Visual Basic 6.0において、OSの判別方法を掲載しています。
OSを判別するには、Win32API の GetVersionEx 関数を使用してオペレーションシステムの Service Pack 情報を取得して、オペレーションシステムを判別します。まず、GetVersionEx 関数の定義と、OSVERSIONINFOEX 構造体の宣言を行います。実装コードは以下のとおりです。
Option Explicit Public Declare Function GetVersionEx Lib "kernel32" _ Alias "GetVersionExA" ( _ lpVersionInformation As OSVERSIONINFO _ ) As Long Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 End Type Public Const VER_PLATFORM_WIN32_WINDOWS = 1 Public Const VER_PLATFORM_WIN32_NT = 2
次に、標準モジュール で定義の宣言を行った GetVersionEx 関数を呼び出し、オペレーションシステムを判別する処理を追加します。
フォームモジュールOption Explicit Private Sub Command1_Click() Dim OSVER As OSVERSIONINFO Dim strVersion As String OSVER.dwOSVersionInfoSize = Len(OSVER) Call GetVersionEx(OSVER) Select Case OSVER.dwPlatformId Case VER_PLATFORM_WIN32_WINDOWS Select Case OSVER.dwMinorVersion Case 0 strVersion = "Windows 95" Case Else strVersion = "Windows 98" End Select Case VER_PLATFORM_WIN32_NT Select Case OSVER.dwMinorVersion Case 0 strVersion = "Windows 2000" Case 1 strVersion = "Windows XP" Case 2 strVersion = "Windows Server 2003" End Select Case Else strVersion = "不明" End Select MsgBox strVersion, vbOKOnly, "Operating System" End Sub
「Call GetVersionEx(OSVER)」で現在動作しているオペレーションシステムのバージョン情報を取得します。「Select Case OSVER.dwPlatformId ... End Select」で、取得したオペレーションシステムの情報からオペレーションシステムの種類を確認します。そして、「MsgBox strVersion, vbOKOnly, "Operating System"」で取得したオペレーションシステムの種類をメッセージボックスで表示します。