Resumen Como Saber el Numero de Version de un EXE, DLL

"Fusilado" del setup1.bas :

Declare Function VerInstallFile Lib "VERSION.DLL" Alias "VerInstallFileA" (ByVal Flags&, ByVal SrcName$, ByVal DestName$, ByVal SrcDir$, ByVal DestDir$, ByVal CurrDir As Any, ByVal TmpName$, lpTmpFileLen&) As Long
Declare Function GetFileVersionInfoSize Lib "VERSION.DLL" Alias "GetFileVersionInfoSizeA" (ByVal strFilename As String, lVerHandle As Long) As Long
Declare Function GetFileVersionInfo Lib "VERSION.DLL" Alias "GetFileVersionInfoA" (ByVal strFilename As String, ByVal lVerHandle As Long, ByVal lcbSize As Long, lpvData As Byte) As Long
Declare Function VerQueryValue Lib "VERSION.DLL" Alias "VerQueryValueA" (lpvVerData As Byte, ByVal lpszSubBlock As String, lplpBuf As Long, lpcb As Long) As Long
Declare Sub lmemcpy Lib "VB5STKIT.DLL" (strDest As Any, ByVal strSrc As Any, ByVal lBytes As Long)
Type VERINFO 'FIXEDFILEINFO de versión
    strPad1 As Long 'Estructura para la versión
    strPad2 As Long 'Estructura para la firma
    nMSLo As Integer 'Palabra inferior de la versión en # MS DWord
    nMSHi As Integer 'Palabra superior de la versión en # MS DWord
    nLSLo As Integer 'Palabra inferior de la versión en # LS DWord
    nLSHi As Integer 'Palabra superior de la versión en # LS DWord
    strPad3(1 To 16) As Byte 'Salta 16 bytes en la estructura de VERINFO
    FileOS As Long 'Información sobre el SO de destino para este archivo.
    strPad4(1 To 16) As Byte 'Estructura del resto de VERINFO (16 bytes)
End Type

Function GetFileVerStruct(ByVal strFilename As String, sVerInfo As VERINFO) As Boolean
    Const strFIXEDFILEINFO$ = "\"

    Dim lVerSize As Long
    Dim lVerHandle As Long
    Dim lpBufPtr As Long
    Dim byteVerData() As Byte
    Dim fFoundVer As Boolean

    GetFileVerStruct = False
    fFoundVer = False
    'Obtiene el tamaño de la información de versión del archivo, asigna un búfer y obtiene
    'la información de versión. Después, consultamos el archivo Fixed por partes, donde está
    'la versión interna del archivo que usa la llamada VerInstallFile de la API. Después se
    'copia la información del archivo en una estructura VERINFO.
    '
    lVerSize = GetFileVersionInfoSize(strFilename, lVerHandle)
    If lVerSize > 0 Then
        ReDim byteVerData(lVerSize)
        If GetFileVersionInfo(strFilename, lVerHandle, lVerSize, byteVerData(0)) <> 0 Then ' (Pasa la matriz byteVerData al primer elemento mediante referencia)
            If VerQueryValue(byteVerData(0), strFIXEDFILEINFO & "", lpBufPtr, lVerSize) <> 0 Then
                lmemcpy sVerInfo, lpBufPtr, lVerSize
                fFoundVer = True
                GetFileVerStruct = True
            End If
        End If
    End If
End Function

Para saber la version :

Dim Version As VERINFO

If GetFileVerStruct("MiFichero.exe", Version) Then
    MsgBox Version.nMSHi & "." & Version.nMSLo & "." & Version.nLSHi & "." & Version.nLSLo
End If


At 09:11 16/11/99 -0500, you wrote:
>Alguno de Uds. sabe como puedo conocer el número de Version de un EXE, o
de una DLL sin necesidad de crear uhna instancia de el?? > >Agradezco
cualquier aporte > >Saludos,
>--------------------------------------------------------------------------
>Fernando De la Cruz Cabello >Cáritas del Perú - Calle Omicrón No. 492
Callao >Telef. 511-4645503 fax 511-4642595 >http://www.caritas.org.pe
>E_mail: fernando.delacruz@caritas.org.pe
>--------------------------------------------------------------------------



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com