項目

OSのバージョン取得

概要

簡単な例を紹介します。もっと詳細を知りたい方は「GetVersionEx」でぐぐってみてください。

Option Compare Database
Option Explicit

Public Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" _
                                (lpVersionInformation As OSVERSIONINFO) As Long

Public 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

'******************************************************
'【処理】	OSバージョン取得処理
'【戻り値】	0=失敗、1=98系、2=NT系
'******************************************************
Public Function GetOsVersion() As Long
    Dim ovi As OSVERSIONINFO
    Dim rt As Long
    
    ovi.dwOSVersionInfoSize = Len(ovi)
        
    rt = GetVersionEx(ovi) 'OSバージョン取得
    
    If rt = 0 Then
        GetOsVersion = 0
        Exit Function
    End If
    
    GetOsVersion = ovi.dwPlatformId

End Function