码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2015-07-02 12:23:00      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

用原来的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);

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

标签:

原文地址:http://blog.csdn.net/xtfnpgy/article/details/46722337

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!