2011-02-25 81 views

回答

1

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion註冊表項應該包含它。我不確定你是否可以在沒有win32 API的情況下引用它,但你可能會...

0

您可以通過WMI得到它。 .Net 2.0

Imports System.Management 

Public Class Form1 

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Call GetOSVersion() 
    End Sub 

    Private Sub GetOSVersion() 
     Dim sCaption As String = String.Empty 
     Dim sVersion As String = String.Empty 
     Dim searcher As New ManagementObjectSearcher("root\CIMV2", _ 
       "SELECT * FROM Win32_OperatingSystem") 
     For Each queryObj As ManagementObject In searcher.Get() 
      sCaption = DirectCast(queryObj("Caption"), String) 
      sVersion = DirectCast(queryObj("Version"), String) 
     Next 
     Debug.WriteLine("OS: " & sCaption & " Ver " & sVersion) 
    End Sub 

End Class 
0

corsiKa讓我走上了正軌,但它非常依賴於您的需求。我想要完整的內部版本號,隨每個Windows 10累積更新而變化。 (例如16299.192)

WMI方法很好,但只能得到您10.0.16299,這是整個版本。我使用WMI Code Creator來查找WMI,但無法找到WMI中的「192」部分。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\UBR 

有內部編號的192部分。

我看中了這個代碼來獲取10.0.16299.192:

Function GetOSVersion() As String 
    Dim strBuild1, strBuild2, strBuild3, strBuild4 As String 
    Dim regKey As Microsoft.Win32.RegistryKey 
    regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows NT\CurrentVersion") 
    strBuild1 = regKey.GetValue("CurrentMajorVersionNumber") 
    strBuild2 = regKey.GetValue("CurrentMinorVersionNumber") 
    strBuild3 = regKey.GetValue("CurrentBuild") 
    strBuild4 = regKey.GetValue("UBR") 
    Return strBuild1 & "." & strBuild2 & "." & strBuild3 & "." & strBuild4 
End Function 
相關問題