2.Windows のバージョンを取得する |
1.Windows のバージョンを取得する(簡易版) 2.API を使って Windows のバージョンを取得する 3.Windows のバージョン情報 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Option :[Option Explicit] 参照設定: 参照設定方法参照 使用 API:GetVersionEx その他 :このサンプルは、 Win32 APIを使用しておりますので、ある程度Win32 API が理解できる方がお使い下さい。 :
|
1.Windows のバージョンを取得する(簡易版) |
今となっては、詳細なバージョン情報が必要な場面がそうないように思いますので、下記でも十分かと思います。 Option Explicit Private Sub Command1_Click() With CreateObject("SysInfo.SYSINFO") MsgBox "OSVersion : " & .OSVersion _ & vbLf & "OSBuild : " & .OSBuild _ & vbLf & "OSPlatform : " & .OSPlatform End With End Sub |
2.API を使って Windows のバージョンを取得する |
もっと、詳細なバージョン情報が必要な場合は、旧のサンプルを使って取得するようにして下さい。 Option Explicit Private Declare Function GetVersionEx Lib "kernel32" _ Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long Private Type OSVERSIONINFO dwOSVersionInfoSize As Long '構造体のバイト数 dwMajorVersion As Long 'メジャーバージョン番号 dwMinorVersion As Long 'マイナーバージョン番号 dwBuildNumber As Long 'ビルド番号 dwPlatformId As Long 'プラットフォームのID szCSDVersion As String * 128 'OSに関する付加情報 End Type Private Sub Command1_Click() Dim lngResult As Long Dim lpVerInfo As OSVERSIONINFO lpVerInfo.dwOSVersionInfoSize = Len(lpVerInfo) lngResult = GetVersionEx(lpVerInfo) If lngResult = 0 Then Exit Sub With lpVerInfo Label1.Caption = _ "MajorVersion : " & CStr(.dwMajorVersion) & vbCrLf & _ "MinorVersion : " & CStr(.dwMinorVersion) & vbCrLf & _ "BuildNumber : " & CStr(.dwBuildNumber) & vbCrLf & _ "PlatformId : " & .dwPlatformId & vbCrLf & _ "CSDVersion : " & Trim$(Left$(.szCSDVersion, InStr(.szCSDVersion, vbNullChar) - 1&)) End With End Sub 私の環境での取得結果 MajorVersion : 6 MinorVersion : 1 BuildNumber : 7601 PlatformId : 2 CSDVersion : Service Pack 1 |
3.Windows のバージョン情報 |
|
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
1.OSのバージョン情報を取得する(API使用) 2.CreateObject("SysInfo.SYSINFO")によるOSのバージョン情報を取得 |