Модератор: Модераторы
function GetFileVersionStr(const AFileName:string): String;
var
buf : array[0..3071] of byte;
bufp : pointer;
fn : string;
valsize,
size : DWORD;
h : DWORD;
valrec : PVSFixedFileInfo;
M,L: DWORD;
begin
result:='';
M:=0;
L:=0;
fn:=AFileName;
UniqueString(fn);
size:=GetFileVersionInfoSize(pchar(fn),@h);
if size>sizeof(buf) then
begin
getmem(bufp,size);
try
if GetFileVersionInfo(pchar(fn),h,size,bufp) then
if VerQueryValue(bufp,'\',valrec,valsize) then
begin
M:=valrec^.dwFileVersionMS;
L:=valrec^.dwFileVersionLS;
end
finally
freemem(bufp);
end;
end
else
begin
if GetFileVersionInfo(pchar(fn),h,size,@buf) then
if VerQueryValue(@buf,'\',valrec,valsize) then
begin
M:=valrec^.dwFileVersionMS;
L:=valrec^.dwFileVersionLS;
end
end;
Result:=Format('%d.%d.%d.%d',[M shr 16,M and $FF,L shr 16,L and $FF])
end;
var
s: String;
....
s:=GetFileVersionStr(ParamStr(0));
...
'1.1.0.4'
Caption:={$I version.inc}
Сейчас этот форум просматривают: MailRu[bot] и гости: 22