Article ID: 147155
Article Last Modified on 1/19/2007
Type FileInfo
wLength As Integer
wValueLength As Integer
szKey As String * 16
dwSignature As Long
dwStrucVersion As Long
dwFileVersionMS As Long
dwFileVersionLS As Long
End Type
' NOTE: The following Declare statements are case sensitive.
Declare Function GetFileVersionInfo& Lib "Version" _
Alias "GetFileVersionInfoA" (ByVal FileName$, _
ByVal dwHandle&, ByVal cbBuff&, ByVal lpvData$)
Declare Function GetFileVersionInfoSize& Lib "Version" Alias _
"GetFileVersionInfoSizeA" (ByVal FileName$, dwHandle&)
Declare Sub hmemcpy Lib "Kernel32" Alias "RtlMoveMemory" _
(hpvDest As Any, hpvSource As Any, ByVal cbBytes&)
Function LOWORD(x As Long) As Integer LOWORD = x And &HFFFF& ' Low 16 bits contain Minor revision number. End Function Function HIWORD(x As Long) As Integer HIWORD = x \ &HFFFF& ' High 16 bits contain Major revision number. End Function
Dim x As FileInfo Dim FileVer As String Dim FileName As String Dim dwHandle&, BufSize&, lpvData$, R& '*** Get Version Information If Available **** FileVer = "" FileName = Me![FName] BufSize& = GetFileVersionInfoSize(FileName, dwHandle&) If BufSize& = 0 Then MsgBox "Invalid File Name or no Version information available" Exit Sub End If lpvData$ = Space$(BufSize&) R& = GetFileVersionInfo(FileName, dwHandle&, BufSize&, lpvData$) hmemcpy x, ByVal lpvData$, Len(x) '**** Parse File Version Number **** FileVer = Trim$(Str$(HIWORD(x.dwFileVersionMS))) + "." FileVer = FileVer + Trim$(Str$(LOWORD(x.dwFileVersionMS))) + "." FileVer = FileVer + Trim$(Str$(HIWORD(x.dwFileVersionLS))) + "." FileVer = FileVer + Trim$(Str$(LOWORD(x.dwFileVersionLS))) MsgBox FileVer, 64, "Version of " & FileName
C:\Windows\System\User32.dll
C:\Msoffice\Access\Msaccess.exe
Additional query words: inf get find out discover look for search locate up
Keywords: kbhowto KB147155