Страница: 1 |
Private Declare Function GetVersionEx _ Const VER_PLATFORM_WIN32s = 0 Private Enum WIN_VERSIONS Private Function WinVer() as WIN_VERSIONS On Error GoTo HandErr End Function Я раньше тоже так делал, а сейчас делаю проще: Public Function WinNT() As Boolean Как правило, этого хватает. Понял, списибо, попробую оба варианта Страница: 1 |
Вопрос: Определение ОС
Добавлено: 26.06.03 11:25
Автор вопроса: Vit | Web-сайт:
Как программе определить под какой ОС она работает. В крайнем случае Win2000/XP или Win95/98/ME.
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
boevik
Хранитель чата
ICQ: 137392264
Вопросов: 8
Ответов: 557
Web-сайт:
Профиль | | #1
Добавлено: 26.06.03 14:13
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_WIN32_WINDOWS = 1
Const VER_PLATFORM_WIN32_NT = 2
WIN95 = 0
WIN98_OR_LATER = 1
WINNT = 2
WIN2000 = 3
End Enum
Dim osVerInfo As OSVERSIONINFO
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
Номер ответа: 2
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #2
Добавлено: 26.06.03 15:58
If Environ("os") = "Windows_NT" Then WinNT = True
End Function
Номер ответа: 3
Автор ответа:
Vit
Вопросов: 68
Ответов: 62
Web-сайт:
Профиль | | #3
Добавлено: 28.06.03 09:06