我使用的是VB .Net 2.0。我知道我可以使用
检测操作系统System.Environment.OSVersion
任何人都可以告诉我,如果有一个列表,我可以找到为不同操作系统版本生成的内容。
具体来说,我试图检测用户是否正在运行Windows 7 64位。
答案 0 :(得分:1)
答案 1 :(得分:0)
使用:
Environment.OSVersion.ToString()
这将返回如下值:
"Microsoft Windows NT 5.0.2195.0"
Here is a link关于如何从版本/内部版本号中提取操作系统。
或者你可以use this function:
Public Function GetOSVersion() As String
Select Case Environment.OSVersion.Platform
Case PlatformID.Win32S
Return "Win 3.1"
Case PlatformID.Win32Windows
Select Case Environment.OSVersion.Version.Minor
Case 0
Return "Win95"
Case 10
Return "Win98"
Case 90
Return "WinME"
Case Else
Return "Unknown"
End Select
Case PlatformID.Win32NT
Select Case Environment.OSVersion.Version.Major
Case 3
Return "NT 3.51"
Case 4
Return "NT 4.0"
Case 5
Select Case _
Environment.OSVersion.Version.Minor
Case 0
Return "Win2000"
Case 1
Return "WinXP"
Case 2
Return "Win2003"
End Select
Case 6
Return "Vista/Win2008Server"
Case Else
Return "Unknown"
End Select
Case PlatformID.WinCE
Return "Win CE"
End Select
End Function
答案 2 :(得分:0)
有关版本列表,请参阅此处:http://www.nirmaltv.com/2009/08/17/windows-os-version-numbers/
要查找32对64位,请参阅上一个问题:How to detect Windows 64-bit platform with .NET?
答案 3 :(得分:0)
我发现的最全面的解决方案是PJ Naughter的DtWinver课程。它可以区分Windows版本(简化版,家庭版,家庭高级版,专业版,企业版等),这些版本可能是您不需要的功能。
答案 4 :(得分:0)
这对我有用,而不是检查版本号,这只是检查Windows操作系统返回的文本
获取操作系统名称
Dim machineOSPlatform as String
If My.Computer.Info.OSFullName.Contains("7") Then
machineOSPlatform = "Windows 7"
ElseIf My.Computer.Info.OSFullName.Contains("XP") Then
machineOSPlatform = "Windows XP"
ElseIf My.Computer.Info.OSFullName.Contains("8") Then
machineOSPlatform = "Windows 8"
ElseIf My.Computer.Info.OSFullName.Contains("Vista") Then
machineOSPlatform = "Windows Vista"
ElseIf My.Computer.Info.OSFullName.Contains("2008") Then
machineOSPlatform = "Windows 2008 Server"
ElseIf My.Computer.Info.OSFullName.Contains("2012") Then
machineOSPlatform = "Windows 2012 Server"
ElseIf My.Computer.Info.OSFullName.Contains("2003") Then
machineOSPlatform - "Windows 2003 Server"
Else
machineOSPlatform = "Unknown OS"
End If