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;
最新文章
- Go语言 Cookie的使用
- IO复用三种方式
- php 判断文件或目录是否存在
- JVM Tomcat性能实战
- Skyline6.5系列覆盖三维地理信息产业上下游
- 为什么从PhoneGap中逃离
- Labview中的属性节点
- S(tuple)类及可选(Optional)类型型
- C++:构造函数和析构函数能否为虚函数
- bash 脚本
- C++中的随机数函数(
- 与众不同 windows phone (6) - Isolated Storage(独立存储)
- mac下安装配置java jdk,maven,resin
- UWP中使用Composition API实现吸顶(2)
- iOS自带API集成二维码、条形码扫描
- LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Sun Jan 13 17:59:19 CST 2019]; root of context hierarch
- java数据结构和算法编程作业系列篇-数组
- [动态库]动态库生成和使用以及Makefile编写
- sql server数据库中char、nchar、varchar、nvarchar的选择
- C++对析构函数的误解