发信人: quyan(奶瓶)
整理人: soaringbird(2002-02-06 16:36:42), 站内信件
|
function GetFileVersion(FileName: string; var Major,Minor,Release,Build:Integer):Boolean;
var
Buf, P: pChar;
sVer: ^VS_FIXEDFILEINFO;
i: LongWord;
begin
i:= GetFileVersionInfoSize(PChar(FileName), i);
New(sVer);
P:= PChar(sVer);
GetMem(Buf, i);
ZeroMemory(Buf, i);
Result:= False;
if GetFileVersionInfo(pchar(FileName), 0, i, Pointer(Buf)) then
begin
if VerQueryValue(Buf, '\', Pointer(sVer), i) then
begin
Major := sVer^.dwFileVersionMS shr 16;
Minor := sVer^.dwFileVersionMS and $0000ffff;
Release := sVer^.dwFileVersionLS shr 16;
Build := sVer^.dwFileVersionLS and $0000ffff;
Result:= True;
end;
end;
Dispose(P);
FreeMem(Buf);
end;
|
|