Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Faccruz

Descobrir Versão do windows

Recommended Posts

Boa tarde!

 

Tem como eu descobrir qual a versão do Windows (98 / XP / VISTA) do meu cliente?

 

achei essa funtion, mas sempre retorna windows95, mesmo sendo um XP

 

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
End Type

Public Function VersaoWin(Optional ExibirDetalhes As Boolean = False) As String
  
  Dim Estrutura As OSVERSIONINFO, Ver As String, Build As String, ServicePack As String
  
  Estrutura.dwOSVersionInfoSize = Len(Estrutura)
  
  GetVersionEx Estrutura
  
  With Estrutura
  
    Build = .dwBuildNumber
    If Not Build = "" Then Build = " Build " & Build
    ServicePack = .szCSDVersion
    If Not ServicePack = "" Then ServicePack = " " & ServicePack
    
    If ExibirDetalhes Then
      Ver = ", versão " & Format$(.dwMajorVersion, "0") & "." & Format$(.dwMinorVersion, "00") & Build & ServicePack
    Else
      Ver = ""
    End If
    
    Select Case .dwPlatformId
    Case 0, 1
      Select Case .dwMinorVersion
      Case 0
        VersaoWin = "Windows95" & Ver
      Case 10
        VersaoWin = "Windows98" & Ver
      Case Else
        VersaoWin = "Windows" & Ver
      End Select
    Case 2
      VersaoWin = "Windows NT (NT4, 2000 ou XP)" & Ver
    Case Else
      VersaoWin = "Sistema operacional não identificado"
    End Select
    
  End With

End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só, eu segui esse tópico aqui, que aparentemente é o mesmo código que o seu e aqui funcionou perfeito. Veja se não deixou passar nada no código. Uma coisa que vi de diferente é nessa linha:

szCSDVersion As String  128

No código original tem é:

szCSDVersion As String * 128

Veja se não tem outros erros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.