// added by mandrav 13 Sep 2002
// returns the file version of the .exe specified by filename
// in the form x.x.x.x
function GetVersionString(const FileName: String): String;
var
Buf: Pointer;
i: cardinal;
P: pointer;
pSize: cardinal;
ffi: TVSFixedFileInfo;
begin
Result := '';
i := GetFileVersionInfoSize(PChar(FileName), i);
if i = 0 then
Exit;
Buf := AllocMem(i);
try
if not GetFileVersionInfo(PChar(FileName), 0, i, Buf) then
Exit;
pSize := SizeOf(P);
VerQueryValue(Buf, '\', p, pSize);
ffi := TVSFixedFileInfo(p^);
Result := Format('%d.%d.%d.%d', [
HiWord(ffi.dwFileVersionMS),
LoWord(ffi.dwFileVersionMS),
HiWord(ffi.dwFileVersionLS),
LoWord(ffi.dwFileVersionLS)]);
finally
FreeMem(Buf);
end;
end;
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.0417160987854 seconds