【发布时间】:2011-03-19 13:52:15
【问题描述】:
我正在使用 VB .Net 2.0。我知道我可以使用
检测操作系统System.Environment.OSVersion
谁能告诉我是否有一个列表,我可以在其中找到针对不同操作系统版本生成的内容。
具体来说,我正在尝试检测用户是否正在运行 Windows 7 64 位。
【问题讨论】:
我正在使用 VB .Net 2.0。我知道我可以使用
检测操作系统System.Environment.OSVersion
谁能告诉我是否有一个列表,我可以在其中找到针对不同操作系统版本生成的内容。
具体来说,我正在尝试检测用户是否正在运行 Windows 7 64 位。
【问题讨论】:
这对我有用,而不是检查版本号,这只是检查 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
【讨论】:
我找到的最全面的解决方案是 PJ Naughter 的 DtWinver 课程。它可以区分 Windows 的版本(Starter Edition、Home Basic、Home Premium、Professional、Enterprise 等),诚然这可能是您不需要的功能。
【讨论】:
有关版本列表,请参见此处:http://www.nirmaltv.com/2009/08/17/windows-os-version-numbers/
要了解 32 位还是 64 位,请参阅上一个问题:How to detect Windows 64-bit platform with .NET?
【讨论】:
用途:
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
【讨论】: