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

Delphi2010如何获取程序内部自身版本号?

2015-07-02 09:38 441 查看
用原来的GetFileVersionInfo只能获取Delpi7的程序版本号,用在Delphi2010中就不管用了

//------ 获取文件版本号

function F_GetFileVersion(FN: string): string;

var

Temp, InfoSize: Cardinal;

FileData: Pointer;

FileInfo: PVSFixedFileInfo;

begin

Result := '';

if not FileExists(FN) then Exit;

InfoSize := GetFileVersionInfoSize(PChar(FN), Temp);

if InfoSize = 0 then Exit; //没有版本号

FileData := GetMemory(InfoSize);

try

if not GetFileVersionInfo(PChar(FN), 0, InfoSize, FileData) then Exit;

if not VerQueryValue(FileData, '\', Pointer(FileInfo), Temp) then Exit;

Result := Format('%d.%d.%d.%d',

[FileInfo.dwFileVersionMS div $10000,

FileInfo.dwFileVersionMS mod $10000,

FileInfo.dwFileVersionLS div $10000,

FileInfo.dwFileVersionLS mod $10000]);

finally

FreeMemory(FileData)

end;

解决方法是用第三方控件Rave,里面有个RzVersionInofo,放上去编译的时候勾选Including version information in project,就可以获取版本号了,获取方法:Showmessage(RzVersionInofo1.FileVersion);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: