争怎路由网/网站教程/内容

得到文件的版本信息程序

网站教程2024-07-16 阅读
procedure TForm1.GetVersionInfo;
const
  n_Info = 10;
  InfoStr : array [1..n_Info] of String =
    ('CompanyName', 'FileDescription', 'FileVersion', 'InternalName',
     'LegalCopyright', 'LegalTradeMarks', 'OriginalFilename',
     'ProductName', 'ProductVersion', 'Comments');
var
  Info      : String;
  BuffSize,
  Len, i    : Integer;
  Buff      : PChar;
  Value     : PChar;
begin
  Info := Application.ExeName;   
  BuffSize := GetFileVersionInfoSize(PChar(Info),BuffSize);
  if BuffSize > 0 then  
  begin
    Buff := AllocMem(BuffSize);
    Memo1.Lines.Add('FileVersionInfoSize='+IntToStr(BuffSize));
    GetFileVersionInfo(PChar(Info),0,BuffSize,Buff);
    Info := Info + ':';
    for i := 1 to n_Info do
      if VerQueryValue(Buff,PChar('StringFileInfo\040904E4\'+
                       InfoStr[i]), Pointer(Value), Len) then
        Info := Info + #13 + InfoStr[i] + '=' + Value;
    FreeMem(Buff,BuffSize);
    ShowMessage (Info);
  end
  else
    ShowMessage ('No FileVersionInfo found');
end;

……

相关阅读