Delphi中取得程序版本号

Delphi做的程序,如果想包含版本信息,必须在Delphi的集成编辑环境的菜单“Project/Options/Version Info”里面添加版本信息。即在Version Info 选项卡中选中“Include version information in project”项,并在“Module version number”中设置Major version(主版本号)、 Minor version(副版本号)、 Release(发行版本号)、 Build(内部版本号)。

  设置好后,在程序中写入下面的函数:

function GetBuildInfo: string; //获取版本号

var

 verinfosize : DWORD;

 verinfo : pointer;

 vervaluesize : dword;

 vervalue : pvsfixedfileinfo;

 dummy : dword;

 v1,v2,v3,v4 : word;

begin

 verinfosize := getfileversioninfosize(pchar(paramstr(0)),dummy);

 if verinfosize = 0 then begin

  dummy := getlasterror;

  result := ‘0.0.0.0‘;

 end;

 getmem(verinfo,verinfosize);

 getfileversioninfo(pchar(paramstr(0)),verinfosize,verinfo);

 verqueryvalue(verinfo,‘\‘,pointer(vervalue),vervaluesize);

 with vervalue^ do begin

  v1 := dwfileversionms shr 16;

  v2 := dwfileversionms and $ffff;

  v3 := dwfileversionls shr 16;

  v4 := dwfileversionls and $ffff;

 end;

 result := inttostr(v1) + ‘.‘ + inttostr(v2) + ‘.‘ + inttostr(v3) + ‘.‘ + inttostr(v4);

 freemem(verinfo,verinfosize);

end;

  然后,在程序中调用函数即可。

procedure TForm1.FormCreate(Sender: TObject);

begin

 label1.Caption := ‘版本 ‘ + GetBuildInfo;

end;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐