Как я могу определить, какую ОС использует пользователь? - PullRequest
2 голосов
/ 22 июля 2010

Я использую VB .Net 2.0. Я знаю, что могу определить ОС, используя

System.Environment.OSVersion

Может кто-нибудь сказать мне, есть ли где-нибудь список, где я могу найти то, что генерируется для разных версий ОС.

В частности, я пытаюсь определить, работает ли пользователь под управлением Windows 7, 64-разрядная версия.

Ответы [ 5 ]

1 голос
/ 22 июля 2010
0 голосов
/ 14 марта 2014

Это сработало для меня, вместо проверки номеров версий, это просто проверка текста, возвращаемого ОС 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

0 голосов
/ 22 июля 2010

Наиболее полное решение для этого я нашел - класс DtWinver от PJ Naughter.Он может различать выпуски Windows (версия для начинающих, Home Basic, Home Premium, Professional, Enterprise и т. Д.), Которые, по общему признанию, могут быть вам не нужны.

0 голосов
/ 22 июля 2010

Список версий см. Здесь: http://www.nirmaltv.com/2009/08/17/windows-os-version-numbers/

Чтобы узнать 32 против 64 бит, посмотрите этот предыдущий вопрос: Как определить 64-битную платформу Windows с .NET?

0 голосов
/ 22 июля 2010

Использование:

Environment.OSVersion.ToString()

Это вернет значения как:

"Microsoft Windows NT 5.0.2195.0"

Вот ссылка о том, как извлечь ОС из номера версии / сборки.

Или вы можете использовать эту функцию :

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...