·  Start ·  Programme ·  Codes ·  Tipps ·  ActiveX ·  Tutorials · 



Für dieses Beispiel brauchen Sie lediglich ein Formular. Fügen Sie den gesamten untenstehenden Code ein. Beim Ausführen des Programms wird in einer Messagbox der Pfad und Dateiname sowie die Dateiversion angezeigt.

 Private Declare Function GetFullPathName Lib "kernel32" Alias _
"GetFullPathNameA" (ByVal lpFileName As String, ByVal nBufferLength _
As Long, ByVal lpBuffer As String, lpFilePart As Long) As Long
  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 Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" _
(Destination As Any, Source As Any, ByVal Length As Long)
  Private Declare Function VerQueryValue Lib "Version.dll" Alias _
"VerQueryValueA" (pBlock As Any, ByVal lpSubBlock As String, lplpBuffer _
As Any, LenBuff As Long) As Long
 
Private Type VS_FIXEDFILEINFO
   dwSignature As Long
   dwStrucVersionl As Integer
   dwStrucVersionh As Integer
   dwFileVersionMSl As Integer
   dwFileVersionMSh As Integer
   dwFileVersionLSl As Integer
   dwFileVersionLSh As Integer
   dwProductVersionMSl As Integer
   dwProductVersionMSh As Integer
   dwProductVersionLSl As Integer
   dwProductVersionLSh As Integer
   dwFileFlagsMask As Long
   dwFileFlags As Long
   dwFileOS As Long
   dwFileType As Long
   dwFileSubtype As Long
   dwFileDateMS As Long
   dwFileDateLS As Long
End Type

Private Sub Form_Load()
 
    Dim FileVerBuffer As VS_FIXEDFILEINFO
    Dim Buffer() As Byte
    Dim Dummy As Long
    Dim BufferLength As Long
    Dim lplpBuffer As Long
    Dim LenBuff As Long
 
    Dim mFileVersion As String
    Dim pathName As String
 
    ' Beispiel-EXE:
    pathName = "C:\Windows\calc.exe" 'Calculator / Rechner
 
    BufferLength = GetFileVersionInfoSize(pathName, Dummy)
 
    ReDim Buffer(BufferLength)
    Call GetFileVersionInfo(pathName, 0&, BufferLength, Buffer(0))
    Call VerQueryValue(Buffer(0), "\", lplpBuffer, LenBuff)
    Call CopyMem(FileVerBuffer, ByVal lplpBuffer, Len(FileVerBuffer))
 
    mFileVersion = Format$(FileVerBuffer.dwFileVersionMSh) & "." & _
      Format$(FileVerBuffer.dwFileVersionMSl, "00") & "."
 
    If FileVerBuffer.dwFileVersionLSh > 0 Then
      mFileVersion = mFileVersion & Format$(FileVerBuffer.dwFileVersionLSh, "00") & "." & _
         Format$(FileVerBuffer.dwFileVersionLSl, "00")
    Else
      mFileVersion = mFileVersion & Format$(FileVerBuffer.dwFileVersionLSl, "0000")
    End If
 
    ' Resultat in Messagebox
    MsgBox pathName & " - FileVersion: " & mFileVersion
 
End Sub
Aktualisiert: 12.02.2008, 14:10 Uhr Copyright © 2001 - 2010 by ST-software Navigation zurück  |  Navigation vorwärts  |  Zum Seitenanfang     
Ihre IP: 38.107.191.81 ·  Seite erstellt in: 0.728 Sekunden ·  Dateigröße:  4930 Bytes