Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Определение ОС Добавлено: 26.06.03 11:25  

Автор вопроса:  Vit | Web-сайт: www.home-soft.jino-net.ru
Как программе определить под какой ОС она работает. В крайнем случае Win2000/XP или Win95/98/ME.

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 boevik



Хранитель чата

ICQ: 137392264 

Вопросов: 8
Ответов: 557
 Web-сайт: www.hypertech.ru
 Профиль | | #1
Добавлено: 26.06.03 14:13

Private Declare Function GetVersionEx _
    Lib "kernel32" Alias "GetVersionExA" _
     (lpVersionInformation As OSVERSIONINFO) As Long


Private Type OSVERSIONINFO
        dwOSVersionInfoSize As Long
        dwMajorVersion As Long
        dwMinorVersion As Long
        dwBuildNumber As Long
        dwPlatformId As Long
        szCSDVersion As String * 128      '  Maintenance string for PSS usage
End Type

Const VER_PLATFORM_WIN32s = 0
Const VER_PLATFORM_WIN32_WINDOWS = 1
Const VER_PLATFORM_WIN32_NT = 2

Private Enum WIN_VERSIONS
        WIN95 = 0
        WIN98_OR_LATER = 1
        WINNT = 2
        WIN2000 = 3
End Enum

Private Function WinVer() as WIN_VERSIONS
Dim osVerInfo As OSVERSIONINFO

    On Error GoTo HandErr
    osVerInfo.dwOSVersionInfoSize = Len(osVerInfo)
    If GetVersionEx(osVerInfo) <> 0 Then
        If osVerInfo.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS Then
            If (osVerInfo.dwMajorVersion > 4) Or _
               ((osVerInfo.dwMajorVersion = 4) And (osVerInfo.dwMinorVersion > 0)) Then
                WinVer = WIN98_OR_LATER
            Else
                WinVer = WIN95
            End If
        Else
            If osVerInfo.dwMajorVersion < 5 Then
                WinVer = WINNT
            Else
                WinVer = WIN2000
            End If
        End If
    End If
   
    Exit Function
   
HandErr:
    MsgBox "GetWinVer" & Err.Number & Err.Description

End Function

Ответить

Номер ответа: 2
Автор ответа:
 Pashenko



ICQ: 176176951 

Вопросов: 14
Ответов: 655
 Профиль | | #2 Добавлено: 26.06.03 15:58

Я раньше тоже так делал, а сейчас делаю проще:

 

Public Function WinNT() As Boolean
    If Environ("os") = "Windows_NT" Then WinNT = True
End Function

Как правило, этого хватает.

Ответить

Номер ответа: 3
Автор ответа:
 Vit



Вопросов: 68
Ответов: 62
 Web-сайт: www.home-soft.jino-net.ru
 Профиль | | #3
Добавлено: 28.06.03 09:06

Понял, списибо, попробую оба варианта

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам