Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1228699
  • 博文数量: 788
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 7005
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-19 15:52
文章存档

2017年(81)

2011年(1)

2009年(369)

2008年(337)

分类:

2008-10-14 16:38:58



如何   获得   自身程序   的   版本号   ????   急!!!!!!!!!!!!  
   
  请给出详细的代码!

function   GetFileVersion(FileName   :   String):   String;  
  var  
      InfoSize,   Wnd:   DWORD;  
      VerBuf:   Pointer;  
      FI:   PVSFixedFileInfo;  
      VerSize:   DWORD;  
  begin  
      Result   :=   '';  
      InfoSize   :=   GetFileVersionInfoSize(PChar(FileName),   Wnd);  
      if   InfoSize   <>   0   then  
      begin  
          GetMem(VerBuf,   InfoSize);  
          try  
              if   GetFileVersionInfo(PChar(FileName),   Wnd,   InfoSize,   VerBuf)   then  
                  if   VerQueryValue(VerBuf,   '\',   Pointer(FI),   VerSize)   then  
                  begin  
                      Result   :=   InttoStr(FI.dwFileVersionMS   div   $FFFF);  
                      Result   :=   Result+'.'+InttoStr(FI.dwFileVersionMS   mod   $10000);  
                      Result   :=   Result+'.'+InttoStr(FI.dwFileVersionLS   div   $FFFF);  
                      Result   :=   Result+'.'+InttoStr(FI.dwFileVersionLS   mod   $10000);  
                  end;  
          finally  
              FreeMem(VerBuf);  
          end;  
      end;  
  end;  
   
  procedure   TAboutForm.FormCreate(Sender:   TObject);  
  var  
      strTemp,FileName:   String;  
  begin  
      FileName   :=   Application.EXEName+chr(0);  
      strTemp   :=   GetFileVersion(FileName);  
      if   strTemp<>''   then  
            Label1.Caption   :=   '(V'+strTemp+')';  
  end;  
   
 

来晚了。接分。

ding

用Raize组件的TRzVersionInfoStatus



[新闻]Silverlight对Flash 微软打垮Adobe
博客园首页 社区 新闻频道 小组 博问 网摘 闪存
阅读(806) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~