如何获得 Windows 操作系统的版本

原创 2004年07月12日 11:18:00

 

很多时候我们需要知道Windows操作系统的版本,使用下面这个API函数可以做到。

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
    szCSDVersion As String * 128        ' Maintenance string for PSS usage
    osName As String                    ' 我自己加的, 操作系统的名称
End Type

' 获得 Windows 操作系统的版本
' OSVERSIONINFO 结构中的 osName 返回操作系统的名称
Private Function GetWindowsVersion() As OSVERSIONINFO
    Dim ver As OSVERSIONINFO
    ver.dwOSVersionInfoSize = 148
    GetVersionEx ver
    With ver
        Select Case .dwPlatformId
            Case 1
                Select Case .dwMinorVersion
                    Case 0
                        .osName = "Windows 95"
                    Case 10
                        .osName = "Windows 98"
                    Case 90
                        .osName = "Windows Mellinnium"
                End Select
            Case 2
                Select Case .dwMajorVersion
                    Case 3
                        .osName = "Windows NT 3.51"
                    Case 4
                        .osName = "Windows NT 4.0"
                    Case 5
                        Select Case .dwMinorVersion
                            Case 0
                                .osName = "Windows 2000"
                            Case 1
                                .osName = "Windows XP"
                            Case 2
                                .osName = "Windows Server 2003"
                        End Select
                End Select
             Case Else
                .osName = "Failed"
        End Select
    End With
    GetWindowsVersion = ver
End Function

Private Sub Command1_Click()
    Dim ver As OSVERSIONINFO
    ver = GetWindowsVersion()
    With ver
        Debug.Print .osName, .dwMajorVersion, .dwMinorVersion, .dwBuildNumber, .dwPlatformId, .szCSDVersion
    End With
End Sub

 

*-------------------------------------------*<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

*  转载请通知作者并注明出处,CSDN欢迎您!   *

*  作者:卢培培(goodname008              *

*  邮箱:goodname008@163.com                *

*  专栏:http://blog.csdn.net/goodname008   *

*-------------------------------------------*

qt 获取win操作系统版本信息

11
  • tjdgluo
  • tjdgluo
  • 2015年05月08日 16:48
  • 939

C++中获取操作系统的名称和版本名称

//读取操作系统的名称 void GetSystemName(CString& osname) { SYSTEM_INFO info; //用SYSTEM_INFO结构判断64位...
  • pjl1119
  • pjl1119
  • 2013年01月30日 16:17
  • 11379

获取Windows操作系统信息计算机名,操作系统型号,版本号,CPU架构,SP号

#if defined(WIN32) || defined(WIN64) typedef void (__stdcall *FUN_GetNativeSystemInfo)(LPSYSTEM_INFO...
  • pony12
  • pony12
  • 2016年11月02日 10:52
  • 1070

win10 系统下获取系统版本号为6.2的问题

近期赶时髦升级了win10,用着挺爽。但是某天在测试一个bug时发现要对win10做特殊处理,于是直接调用了GetVersionEx,并取出版本号进行判断,但是发现得到的版本竟然是6.2。当时就被雷到...
  • k1988
  • k1988
  • 2015年08月13日 16:42
  • 5802

windows 操作系统版本号

windows 操作系统版本号
  • msdnchina
  • msdnchina
  • 2015年11月18日 17:49
  • 4047

Delphi获取操作系统版本【转载+修改】

unit WindowsSysVersion; interface uses windows ; {$IFDEF CONDITIONALEXPRESSIONS} {$IF Defined(T...
  • loverceo
  • loverceo
  • 2014年03月09日 18:43
  • 1380

获取操作系统位数、名称、版本名称

// 安全的取得真实系统信息 VOID SafeGetNativeSystemInfo(__out LPSYSTEM_INFO lpSystemInfo) { if (NULL == ...
  • pjl1119
  • pjl1119
  • 2013年01月30日 16:49
  • 7301

Windows操作系统版本判定的那些事儿

Windows操作系统版本判定的那些事儿
  • chenlycly
  • chenlycly
  • 2016年03月08日 19:56
  • 1527

ORcle-OUI-18001: 不支持操作系统 'Windows Vista 版本 6.1'——解决方法

Windows 7下安装Oracle 11g报错OUI-18001: 不支持操作系统 'Windows Vista 版本 6.1'
  • youmengdaigu
  • youmengdaigu
  • 2014年08月27日 10:03
  • 823

VerifyVersionInfo获取WINDOWS操作系统版本

FreeEIM在vs2013下,使用GetVersionEx来获取操作系统的版本信息,vs报错error: `GetVersionEx‘ declared deprecated,于是去msdn查看了一...
  • mynote
  • mynote
  • 2014年09月08日 11:53
  • 4426
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何获得 Windows 操作系统的版本
举报原因:
原因补充:

(最多只允许输入30个字)