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;

最新文章

  1. Go语言 Cookie的使用
  2. IO复用三种方式
  3. php 判断文件或目录是否存在
  4. JVM Tomcat性能实战
  5. Skyline6.5系列覆盖三维地理信息产业上下游
  6. 为什么从PhoneGap中逃离
  7. Labview中的属性节点
  8. S(tuple)类及可选(Optional)类型型
  9. C++:构造函数和析构函数能否为虚函数
  10. bash 脚本
  11. C++中的随机数函数(
  12. 与众不同 windows phone (6) - Isolated Storage(独立存储)
  13. mac下安装配置java jdk,maven,resin
  14. UWP中使用Composition API实现吸顶(2)
  15. iOS自带API集成二维码、条形码扫描
  16. 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
  17. java数据结构和算法编程作业系列篇-数组
  18. [动态库]动态库生成和使用以及Makefile编写
  19. sql server数据库中char、nchar、varchar、nvarchar的选择
  20. C++对析构函数的误解

热门文章

  1. ABAP术语-Business Components
  2. java后台去除JSON数组的重复值
  3. Windows环境下安装redis及PHP Redis扩展
  4. react native 踩坑之 SectionList state更新 不执行render重新渲染页面
  5. FireDAC内存表
  6. JavaScript之DOM查询
  7. 003---socket介绍
  8. Python tips(
  9. 异步消息处理(Message, Handler, MessageQueue, Looper)
  10. CSS3实现加载数据动画1