title image


Smiley Windows Version ermitteln - Problemmit Funktionsaufruf
Guten Morgen Leute!



Ich habe aus dem Code-Book eine Funktion, mit der man die Windows-Version ermitteln kann, bloß leider bin ich gerade zu doof diese anzuwenden und hoffe das mir jemand eine Tipp geben kann wie ich diese Funktion so aufrufen kann, dass ich mein gewünschtes Ergebnis erhalte.....



Ich möchte im Prinzip in einer Prozedur zur Laufzeit abfragen welche Windows-Platform vorliegt und dann abhängig davon verschidene Codes laufen zu lassen, z.B. so





Private Sub Test()



Dim WinVers as String



WinVers = 'und hier sollte jetzt die ermittelte Windows-Version rein



Select Case Winvers



Case "Windows 200"

.

.

.

:

usw.



Kann mir jemand anhand des nachfolgenden Codes sagen wie ich das machen muss?!?



Hier noch der Code aus dem Code-Book:







Public Const VER_PLATFORM_WIN32s = 0

Public Const VER_PLATFORM_WIN32_WINDOWS = 1

Public Const VER_PLATFORM_WIN32_NT = 2



Public Declare Function GetVersionEx _

  Lib "kernel32" Alias "GetVersionExA" ( _

  lpVersionInformation As tpOSVersionInfo) As Long



Public Type tpFileVersionInfo

  strVersionNr As String

  strFileType As String

  strCopyrightInfo As String

  strFileDesc As String

End Type



Public Type tpWinInfo

  strPlatform As String

  strVersion As String

  strServicePack As String

End Type



Public Type tpOSVersionInfo

  dwOSVersionInfoSize As Long

  dwMajorVersion As Long

  dwMinorVersion As Long

  dwBuildNumber As Long

  dwPlatformID As Long

  szCSDVersion As String * 128

End Type





'* SY04 ****************************************************

'Description: Ermittelt die aktuelle Windows-Version

'Parameters:

'API-Calls:   GetVersionEx (Kernel32)

'References:

'Functions:

'Classes:

'Types:       tpOSVersionInfo, tpWinInfo

'Enums:

'Constants:   VER_PLATFORM_*

'Return:      tpWinInfo

'* SY04 ****************************************************

Public Function GetWinPlatform() As tpWinInfo



Dim typOSVI As tpOSVersionInfo

Dim typWI As tpWinInfo

Dim strPlatform As String

Dim strServicePack As String

Dim strVersion As String



  typOSVI.dwOSVersionInfoSize = 148

   

  If GetVersionEx(typOSVI) Then

  

    With typOSVI

    

      Select Case .dwPlatformID

        

        Case VER_PLATFORM_WIN32_NT

          

          If .dwMajorVersion = 5 Then

            

            If .dwBuildNumber = 2195 Then

              

              typWI.strPlatform = "Windows 2000"

            

            ElseIf .dwBuildNumber = 2600 Then

              

              typWI.strPlatform = "Windows XP"

            

            End If

            

          Else

            

            typWI.strPlatform = "Windows NT"

          

          End If

        

        Case Else

        

          If .dwBuildNumber = 950 Then

            

            typWI.strPlatform = "Windows 95"

          

          ElseIf .dwBuildNumber = 1111 Or .szCSDVersion = "B" Then

            

            typWI.strPlatform = "Windows 95 OSR2"

          

          ElseIf .dwBuildNumber = 1998 Then

            

            typWI.strPlatform = "Windows 98"

          

          ElseIf .dwBuildNumber = 2222 Or .szCSDVersion = "A" Then

            

            typWI.strPlatform = "Windows 98 SE"

          

          ElseIf .dwBuildNumber = 3000 Then

            

            typWI.strPlatform = "Windows ME"

          

          Else

          

            If .dwMinorVersion = 0 Then

            

              typWI.strPlatform = "Windows 95"

            

            ElseIf .dwMinorVersion = 10 Then

            

              typWI.strPlatform = "Windows 98"

            

            Else

            

              typWI.strPlatform = "Windows 9x"

              

            End If

            

          End If

          

      End Select



      typWI.strServicePack = Left(.szCSDVersion, _

        InStr(1, .szCSDVersion, Chr$(0)))

    

      typWI.strVersion = .dwMajorVersion & "." & _

        .dwMinorVersion & "." & .dwBuildNumber

      

    End With



  End If

  

  GetWinPlatform = typWI

  

End Function



Code eingefügt mit Syntaxhighlighter 2.5







Vielen Dank im Voraus!


Schönen Gruß Andrej ___________________________________________________________ Access2000 / 2003 Windows XP VB6

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: