Hi,
wie kann ich die:
Dateiversion
Produktversion
Produktname
.....
aus dem exe-file auslesen ?
Dateiversion auslesen ?
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
hab hier mal ein Beispiel, weiß aber nicht mehr von wem
Gruß
Thomas

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")
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
