Seite 1 von 1

Dateiversion auslesen ?

Verfasst: 11.04.2005 22:45
von Thatsanee
Hi,

wie kann ich die:

Dateiversion
Produktversion
Produktname
.....

aus dem exe-file auslesen ?

Verfasst: 13.04.2005 17:49
von zigapeda
Wie kann man diese eigentlich festlegen?

Verfasst: 13.04.2005 17:57
von bobobo
jaPBe benutzen , da kann man das einstellen

Verfasst: 13.04.2005 21:39
von ts-soft
hab hier mal ein Beispiel, weiß aber nicht mehr von wem :oops:

Code: Alles auswählen

;- get version of specified file as string 
Procedure.s GetFileVersion(FileSpec.s) 
  Dummy.l 
  *Buffer 
  BufferLen.l 
  
  VerBuffer.VS_FIXEDFILEINFO 
  VerPointer.l 
  VerBufferLen.l 

  FileVersion.s 
  
  If OpenLibrary(0, "version.dll") 
    *GFI_Size = IsFunction(0, "GetFileVersionInfoSizeA") 
    *GFI_Info = IsFunction(0, "GetFileVersionInfoA") 
    *GFI_Value = IsFunction(0, "VerQueryValueA") 
    
    If *GFI_Size And *GFI_Info And *GFI_Value 
      ; get size of version information buffer 
      BufferLen = CallFunctionFast(*GFI_Size, FileSpec, @Dummy) 
      If BufferLen 
        ; allocate buffer and get version information 
        *Buffer = AllocateMemory(BufferLen) 
        CallFunctionFast(*GFI_Info, FileSpec, 0, BufferLen, *Buffer) 
        ; find file version and copy into structure 
        CallFunctionFast(*GFI_Value, *Buffer, "\", @VerPointer, @VerBufferLen) 
        CopyMemory(VerPointer, VerBuffer, VerBufferLen) 
        ; build file version string "x.x.x.x" 
        FileVersion = Str((VerBuffer\dwFileVersionMS & $FFFF0000) >> 16) + "." + Str(VerBuffer\dwFileVersionMS & $0000FFFF) + "." + Str((VerBuffer\dwFileVersionLS & $FFFF0000) >> 16) + "." + Str(VerBuffer\dwFileVersionLS & $0000FFFF) 
      EndIf 
    EndIf 

    CloseLibrary(0) 
  EndIf 

  ; return file version string 
  ProcedureReturn FileVersion 
EndProcedure
Debug GetFileVersion("C:\Programme\Internet Explorer\iexplore.exe")
Gruß
Thomas