[Delphi (Object Pascal)] Delphi 获取文件的版本信息 →→→→→进入此内容的聊天室

来自 , 2019-08-14, 写在 Delphi (Object Pascal), 查看 124 次.
URL http://www.code666.cn/view/b9b852ac
  1. function GetFixedFileVerInfo(const FileName: string;
  2.   out FFI: Windows.TVSFixedFileInfo): Boolean;
  3. var
  4.   VerInfoBuf: Pointer;    // points to memory storing version info
  5.   VerInfoSize: Integer;   // size of version info memory
  6.   Dummy: Windows.THandle; // unused parameter required by API function
  7.   PFFI: Pointer;          // points to fixed file info
  8.   FFISize: Windows.UINT;  // size of file file info returned from API (unused)
  9. begin
  10.   // Assume failure: sets zero result
  11.   FillChar(FFI, SizeOf(FFI), 0);
  12.   Result := False;
  13.   // Get size of version info: there is none if this is zero
  14.   VerInfoSize := Windows.GetFileVersionInfoSize(PChar(FileName), Dummy);
  15.   if VerInfoSize > 0 then
  16.   begin
  17.     // Allocate memory to store ver info
  18.     GetMem(VerInfoBuf, VerInfoSize);
  19.     try
  20.       // Get the version info, filling buffer
  21.       if Windows.GetFileVersionInfo(
  22.         PChar(FileName), Dummy, VerInfoSize, VerInfoBuf
  23.       ) then
  24.       begin
  25.         // Get a pointer to fixed file info
  26.         if Windows.VerQueryValue(VerInfoBuf, '\', PFFI, FFISize) then
  27.         begin
  28.           // Got pointer OK: record file version
  29.           FFI := Windows.PVSFixedFileInfo(PFFI)^;
  30.           Result := True;
  31.         end;
  32.       end;
  33.     finally
  34.       // Dispose of ver info storage
  35.       FreeMem(VerInfoBuf, VerInfoSize);
  36.     end;
  37.   end;
  38. end;
  39. //delphi/2213

回复 "Delphi 获取文件的版本信息"

这儿你可以回复上面这条便签

captcha