Delphi获取程序版本号

参考: http://www.delphitop.com/html/hanshu/4627.html


复制代码
procedure GetVersionInfo(const FileName:string; var vs:string);
var VerInfoSize,VerValueSize,Dummy:DWORD;
    VerInfo: Pointer;
    VerValue: PVSFixedFileInfo;
    V1,V2,V3,V4:Word;
begin
  vs:='';
  if not FileExists(FileName) then exit;
  VerInfoSize:=GetFileVersionInfoSize(PChar(FileName),Dummy);
  if VerInfoSize=0 then exit;
  GetMem(VerInfo,VerInfoSize);
  if not GetFileVersionInfo(PChar(FileName),0,VerInfoSize,VerInfo) then exit;
  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;
    vs:=inttostr(v1)+'.'+inttostr(v2)+'.'+inttostr(v3)+'.'+inttostr(v4);
  end;
  FreeMem(VerInfo,VerInfoSize);
end;
复制代码

 

经测试,管用!👍

posted @   MasterQi  阅读(147)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示