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)),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;