Hallo Stefan,
ich habe Dir das Beispiel aus API-Guide kopiert …
Const VS\_FFI\_SIGNATURE = &HFEEF04BD
Const VS\_FFI\_STRUCVERSION = &H10000
Const VS\_FFI\_FILEFLAGSMASK = &H3F&
Const VS\_FF\_DEBUG = &H1
Const VS\_FF\_PRERELEASE = &H2
Const VS\_FF\_PATCHED = &H4
Const VS\_FF\_PRIVATEBUILD = &H8
Const VS\_FF\_INFOINFERRED = &H10
Const VS\_FF\_SPECIALBUILD = &H20
Const VOS\_UNKNOWN = &H0
Const VOS\_DOS = &H10000
Const VOS\_OS216 = &H20000
Const VOS\_OS232 = &H30000
Const VOS\_NT = &H40000
Const VOS\_\_BASE = &H0
Const VOS\_\_WINDOWS16 = &H1
Const VOS\_\_PM16 = &H2
Const VOS\_\_PM32 = &H3
Const VOS\_\_WINDOWS32 = &H4
Const VOS\_DOS\_WINDOWS16 = &H10001
Const VOS\_DOS\_WINDOWS32 = &H10004
Const VOS\_OS216\_PM16 = &H20002
Const VOS\_OS232\_PM32 = &H30003
Const VOS\_NT\_WINDOWS32 = &H40004
Const VFT\_UNKNOWN = &H0
Const VFT\_APP = &H1
Const VFT\_DLL = &H2
Const VFT\_DRV = &H3
Const VFT\_FONT = &H4
Const VFT\_VXD = &H5
Const VFT\_STATIC\_LIB = &H7
Const VFT2\_UNKNOWN = &H0
Const VFT2\_DRV\_PRINTER = &H1
Const VFT2\_DRV\_KEYBOARD = &H2
Const VFT2\_DRV\_LANGUAGE = &H3
Const VFT2\_DRV\_DISPLAY = &H4
Const VFT2\_DRV\_MOUSE = &H5
Const VFT2\_DRV\_NETWORK = &H6
Const VFT2\_DRV\_SYSTEM = &H7
Const VFT2\_DRV\_INSTALLABLE = &H8
Const VFT2\_DRV\_SOUND = &H9
Const VFT2\_DRV\_COMM = &HA
Private Type VS\_FIXEDFILEINFO
dwSignature As Long
dwStrucVersionl As Integer ' e.g. = &h0000 = 0
dwStrucVersionh As Integer ' e.g. = &h0042 = .42
dwFileVersionMSl As Integer ' e.g. = &h0003 = 3
dwFileVersionMSh As Integer ' e.g. = &h0075 = .75
dwFileVersionLSl As Integer ' e.g. = &h0000 = 0
dwFileVersionLSh As Integer ' e.g. = &h0031 = .31
dwProductVersionMSl As Integer ' e.g. = &h0003 = 3
dwProductVersionMSh As Integer ' e.g. = &h0010 = .1
dwProductVersionLSl As Integer ' e.g. = &h0000 = 0
dwProductVersionLSh As Integer ' e.g. = &h0031 = .31
dwFileFlagsMask As Long ' = &h3F for version "0.42"
dwFileFlags As Long ' e.g. VFF\_DEBUG Or VFF\_PRERELEASE
dwFileOS As Long ' e.g. VOS\_DOS\_WINDOWS16
dwFileType As Long ' e.g. VFT\_DRIVER
dwFileSubtype As Long ' e.g. VFT2\_DRV\_KEYBOARD
dwFileDateMS As Long ' e.g. 0
dwFileDateLS As Long ' e.g. 0
End Type
Private Declare Function GetFileVersionInfo Lib "Version.dll" Alias "GetFileVersionInfoA" (ByVal lptstrFilename As String, ByVal dwhandle As Long, ByVal dwlen As Long, lpData As Any) As Long
Private Declare Function GetFileVersionInfoSize Lib "Version.dll" Alias "GetFileVersionInfoSizeA" (ByVal lptstrFilename As String, lpdwHandle As Long) As Long
Private Declare Function VerQueryValue Lib "Version.dll" Alias "VerQueryValueA" (pBlock As Any, ByVal lpSubBlock As String, lplpBuffer As Any, puLen As Long) As Long
Private Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As Any, ByVal Source As Long, ByVal length As Long)
Dim Filename As String, Directory As String, FullFileName As String
Dim StrucVer As String, FileVer As String, ProdVer As String
Dim FileFlags As String, FileOS As String, FileType As String, FileSubType As String
Private Sub DisplayVerInfo()
Dim rc As Long, lDummy As Long, sBuffer() As Byte
Dim lBufferLen As Long, lVerPointer As Long, udtVerBuffer As VS\_FIXEDFILEINFO
Dim lVerbufferLen As Long
'\*\*\* Get size \*\*\*\*
lBufferLen = GetFileVersionInfoSize(FullFileName, lDummy)
If lBufferLen MS Knowledge Base
'set the file
Filename = "kernel32.dll"
Directory = "c:\windows\system\"
FullFileName = Directory + Filename
'set graphics mode to persistent
Me.AutoRedraw = True
'retrieve the information
DisplayVerInfo
'show the results
Me.Print "Full filename: " + FullFileName
Me.Print "File version: " + FileVer
Me.Print "Product version: " + ProdVer
Me.Print "File flags: " + FileFlags
Me.Print "File OS: " + FileOS
Me.Print "File type: " + FileType + IIf(FileSubType = "", "", " (" + FileSubType + ")")
End Sub
viel Spaß damit. 
Gruß, Rainer