您的位置:首页 > 编程语言 > Delphi

delphi内取文件版本信息

2007-04-09 14:33 381 查看

unit UVersionInfo;




interface




uses Windows, SysUtils;




function GetVersionValue(FileName,QueryName:string):String;




implementation




function GetVersionValue(FileName,QueryName:string):String;


var


InfoSize, Wnd: DWORD;


VerBuf: Pointer;


szName: array[0..255] of Char;


Value: Pointer;


Len: UINT;


TransString:string;


begin


InfoSize := GetFileVersionInfoSize(PChar(FileName), Wnd);


if InfoSize <> 0 then


begin


GetMem(VerBuf, InfoSize);


try


if GetFileVersionInfo(PChar(FileName), Wnd, InfoSize, VerBuf) then


begin


Value :=nil;


VerQueryValue(VerBuf, 'VarFileInfoTranslation', Value, Len);


if Value <> nil then


TransString := IntToHex(MakeLong(HiWord(Longint(Value^)), LoWord(Longint(Value^))), 8);


Result := '';


StrPCopy(szName, 'StringFileInfo'+Transstring+''+QueryName);


if VerQueryValue(VerBuf, szName, Value, Len) then


Result := StrPas(PChar(Value));


end;


finally


FreeMem(VerBuf);


end;


end;


end;




end.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: