본문 바로가기
Application/Delphi Lecture

파일 버젼 구하기

by 현이빈이 2008. 12. 16.
반응형
function GetFileVersion(ExePath: String): String;
var
  trans : Pointer;
  transtring : String;
  n, aLen, bLen : DWORD;
  Buf : PChar;
  Version : PChar;
begin

  n := GetFileVersionInfoSize(PChar(ExePath), n);
  Buf := AllocMem(n);
  try
    GetFileVersionInfo(PChar(ExePath), 0, n, Buf);
   VerQueryValue(Buf, 'VarFileInfo\Translation', trans, aLen);

    transtring := IntToHex(MakeLong(HiWord(Longint(trans^)), LoWord(Longint(trans^))), 8);
   VerQueryValue(Buf, PChar('StringFileInfo\' + transtring + '\FileVersion'), Pointer(Version), bLen);
  finally
    FreeMem(Buf, n);
    result := Version;
  end;
end;
반응형