// '%d.%d.%d.%d' => '4.13.128.0' // '%.2d-%.2d-%.2d' => '04-13-128' function GetFileVersion(const FileName: String; const Fmt: String = '%d.%d.%d.%d'): String; var iBufferSize: DWORD; iDummy: DWORD; pBuffer: Pointer; pFileInfo: Pointer; iVer: Array[1..4] of Word; begin // set default value Result := ''; // get size of version info (0 if no version info exists) iBufferSize := GetFileVersionInfoSize(PChar(FileName), iDummy); if (iBufferSize > 0) then begin GetMem(pBuffer, iBufferSize); try // get fixed file info GetFileVersionInfo(PChar(FileName), 0, iBufferSize, pBuffer); VerQueryValue(pBuffer, '\', pFileInfo, iDummy); // read version blocks iVer[1] := HiWord(PVSFixedFileInfo(pFileInfo)^.dwFileVersionMS); iVer[2] := LoWord(PVSFixedFileInfo(pFileInfo)^.dwFileVersionMS); iVer[3] := HiWord(PVSFixedFileInfo(pFileInfo)^.dwFileVersionLS); iVer[4] := LoWord(PVSFixedFileInfo(pFileInfo)^.dwFileVersionLS); finally FreeMem(pBuffer); end; // format result string Result := Format(Fmt, [iVer[1], iVer[2], iVer[3], iVer[4]]); end; end;
'APP > 파일관련' 카테고리의 다른 글
SelectDirectory 확장 (0) | 2012.10.23 |
---|---|
SelectDirectory 원하는 위치에 띄우기 (0) | 2012.10.23 |
폴더 복사,이동,삭제 (0) | 2012.10.23 |
부모풀더까지 한방에 만들기 (0) | 2012.10.23 |