如何检测用户正在运行的操作系统?

时间:2010-07-22 13:45:00

标签: .net vb.net windows-7

我使用的是VB .Net 2.0。我知道我可以使用

检测操作系统
System.Environment.OSVersion

任何人都可以告诉我,如果有一个列表,我可以找到为不同操作系统版本生成的内容。

具体来说,我试图检测用户是否正在运行Windows 7 64位。

5 个答案:

答案 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

http://www.vbforums.com/showthread.php?676340-how-can-i-get-visual-basic-to-show-what-os-your-running