如何确定正在使用的 32 位 Windows 版本

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 189249
本文已归档。它按“原样”提供,并且不再更新。
概要
应用程序可能需要执行任务以不同的方式取决于计算机上运行的哪个操作系统。这篇文章的示例演示如何区分 Microsoft Windows 95、 Microsoft Windows 98、 Microsoft 窗口 NT 3.51、 Microsoft Windows NT 4.0、 Microsoft Windows 2000,和 Microsoft Windows XP。

Win32 GetVersionEx 函数返回某个程序可用来确定操作系统的信息。这些值中包括主版本号和次修订号和一个平台的标识符。使用 Windows 98 的引入,它现在会更所涉及的逻辑评估以确定哪个版本的 Windows 正在使用中。以下列表提供了评估 OSVERSIONINFO 结构由 GetVersionEx 函数填充所需的数据:
windows 95Windows 98Windows MeWindows 4.0 NTWindows 2000Windows XP
PlatformID 1 1 1 2 2 2
主版本 4 4 4 4 5 5
次版本 0 10 90 0 0 1
更多信息

逐步骤示例

  1. 在 Visual Basic 中开始一个新的标准 EXE 项目。默认情况下创建 Form1。
  2. 项目 菜单将添加到项目的 标准模块
  3. Insert the following code into Module1:
          Public Declare Function GetVersionExA Lib "kernel32" _               (lpVersionInformation As OSVERSIONINFO) As Integer             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 Function getVersion() As String               Dim osinfo As OSVERSIONINFO               Dim retvalue As Integer                osinfo.dwOSVersionInfoSize = 148               osinfo.szCSDVersion = Space$(128)               retvalue = GetVersionExA(osinfo)                With osinfo               Select Case .dwPlatformId                 Case 1                                    Select Case .dwMinorVersion                        Case 0                            getVersion = "Windows 95"                        Case 10                            getVersion = "Windows 98"                        Case 90                            getVersion = "Windows Millennium"                    End Select                    Case 2                    Select Case .dwMajorVersion                        Case 3                            getVersion = "Windows NT 3.51"                        Case 4                            getVersion = "Windows NT 4.0"                        Case 5                            If .dwMinorVersion = 0 Then                                getVersion = "Windows 2000"                            Else                                getVersion = "Windows XP"                            End If                    End Select                    Case Else                   getVersion = "Failed"            End Select                End With            End Function					
  4. 将下面的代码行添加到 Form1 的 Load 事件:
    MsgBox GetVersion()					
  5. 运行在的项目,请注意一个消息框将显示正确的 Windows 版本。
参考
有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
92936如何在与 GetVersion VB 中获取 Windows 3.1 的版本号

属性

文章 ID:189249 - 上次审阅时间:12/05/2015 08:55:49 - 修订版本: 3.0

Microsoft Visual Basic 5.0 学习版, Microsoft Visual Basic 6.0 学习版, Microsoft Visual Basic 5.0 专业版, Microsoft Visual Basic 6.0 专业版, Microsoft Visual Basic 5.0 企业版, Microsoft Visual Basic Enterprise Edition for Windows 6.0, Microsoft Visual Basic 4.0 标准版, Microsoft Visual Basic 4.0 专业版, Microsoft Visual Basic for Applications 5.0

  • kbnosurvey kbarchive kbmt kbhowto KB189249 KbMtzh
反馈