如何判斷正在使用哪一個 32 位元 Windows 版本

文章翻譯 文章翻譯
文章編號: 189249 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

應用程式可能需要執行工作以不同方式視電腦上執行的作業系統。本文章顯示,依範例,如何區分 Microsoft Windows 95、 Microsoft Windows 98,Microsoft Window NT 3.51、 Microsoft Windows NT 4.0、 Microsoft Windows 2000 和 Microsoft Windows XP。

Win32 GetVersionEx 函式會傳回一個程式可以用來識別作業系統的資訊。這些值包括主要和次要修訂編號與平台識別項。與 Windows 98 引進,現在花更多相關的邏輯評估以判斷哪個版本的 Windows 為使用中。以下清單提供評估 GetVersionEx 函式所填入的 OSVERSIONINFO 結構所需的資料:
摺疊此表格展開此表格
Windows 95Windows 98Windows MeWindows NT 4.0Windows 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如何取得 Windows 3.1 的版本號碼與 GetVersion VB 中

屬性

文章編號: 189249 - 上次校閱: 2004年9月3日 - 版次: 3.0
這篇文章中的資訊適用於:
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic for Applications 5.0
關鍵字:?
kbmt kbhowto KB189249 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:189249
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com