1. 程式人生 > >Delphi中取得程式版本號

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;