version del SO

ice_old
29 de Abril del 2004
como se puede detectar la version del sistema operativo vegente?

juanchato
29 de Abril del 2004
Con el siguiente código puedes detectar la versión del SO en VB6:

* Primero crea un módulo con el siguiente código:

Public Declare Function GetVersionExA Lib "kernel32" _
(lpVersionInformation As OSVERSIONINFO) As Integer

Public Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type

* Luego en tu formulario coloca la siguiente función:

Public Function getVersion() As String
Dim osinfo As OSVERSIONINFO
Dim retvalue As Integer
osinfo.dwOSVersionInfoSize = 148
osinfo.szCSDVersion = Space$(128)
retvalue = GetVersionExA(osinfo)
With osinfo
Select Case .dwPlatformId
Case 1
Select Case .dwMinorVersion
Case 0
getVersion = "Windows 95"
Case 10
getVersion = "Windows 98"
Case 90
getVersion = "Windows Millennium"
End Select
Case 2
Select Case .dwMajorVersion
Case 3
getVersion = "Windows NT 3.51"
Case 4
getVersion = "Windows NT 4.0"
Case 5
If .dwMinorVersion = 0 Then
getVersion = "Windows 2000"
Else
getVersion = "Windows XP"
End If
End Select
Case Else
getVersion = "Failed"
End Select
End With
End Function

ice_old
29 de Abril del 2004
Me da error y no se si es que debo declarar esta funcion en un modulo aparate o que?
Me dice que:
Error de compilacion
Los comentarios solamente deben aparecer después de end sub, end function o end property

Entonces como se haría?

juanchato
29 de Abril del 2004
He hecho la prueba copiando el código desde está página y funciona bien; de la única forma que te puede salir ese error es si has pegado también mis indicaciones en el código (* Luego en tu formulario coloca la...). ESO NO LO DEBES PONER!!!.

juanchato
29 de Abril del 2004
Ahora lo que yo necesito es complementar esto con un código para saber si un Windows 2000 es professional o server y si un windows Nt4 es WS o Server. También obtener el idioma del SO.
Cualquier ayuda al respecto me sería de mucha utilidad.

Yuval
29 de Abril del 2004
Muy buena la informacion de estos mensajes GRACIAS A TODOS