Page 1 of 1

Cómo obtengo valores de la VERSIONINFO

Posted: Wed Apr 05, 2006 2:20 pm
by goosfancito
Estimados,
Tengo esta informacion metida en una DLL,

Code: Select all

1 VERSIONINFO 
FILEVERSION 1, 0, 0, 0
PRODUCTVERSION 1, 0, 0, 0
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_APP
{
 BLOCK "StringFileInfo"
 {
  BLOCK "040904E4"
  {
   VALUE "CompanyName", "My Company\000\000"
   VALUE "FileDescription", "Description from .def file here\000"
   VALUE "FileVersion", "1.00\000\000"
   VALUE "InternalName", "Application name\000"
   VALUE "LegalCopyright", "Copyright © My Company 1993\000\000"
   VALUE "OriginalFilename", ".exe file name here\000"
  }

 }

 BLOCK "VarFileInfo"
 {
  VALUE "Translation", 0x409, 1252
 }

}
Como hago para poder obtener los datos, como ser version, nombre del programa, etc. desde codigo FWH o FW?

Posted: Fri Apr 07, 2006 10:18 am
by Antonio Linares
Gustavo,

Tienes que usar la función del API de Windows, GetFileVersionInfo()

Posted: Fri Apr 07, 2006 10:51 am
by goosfancito
ok

Posted: Fri Apr 07, 2006 1:07 pm
by goosfancito
He intentado hacer esto:

Code: Select all

FUNCTION main()
   LOCAL lpData

   getfiveina("c:\WINDOWS\SYSTEM\WINASPI.DLL",,, lpData )

   ? lpdata

   RETURN ( NIL )

//------------------------------------------------------------------------------

DLL32 FUNCTION GetFiVeInA;
      ( lptstrFilename AS STRING, ;
        dwHandle AS LONG, ;
        dwLen AS LONG, ;
        @lpData AS LPSTR ) ;
   AS LONG PASCAL;
   FROM "GetFileVersionInfoA" LIB "VERSION"

Y recibo un BRUTO cero, como no estoy acostumbrado al uso de estas DLL32, alguien podría darme una mano?