Programming/Delphi

파일 버전 알아내기

통통만두 2010. 12. 16. 20:33
반응형
function GetFileVersion(FilePath: String; VerType: Integer): Integer;
var
  InfoSize: Integer;
  dwH: DWORD;
  Buf: PChar;
  pFileInfo: PVsFixedFileInfo;
  Len: UINT;
begin
  Result := 0;

  // 파일존재여부 검사
  if not FileExists(FilePath) then Exit;

  InfoSize := GetFileVersionInfoSize(PChar(FilePath), dwH);
  if InfoSize = 0 then Exit;

  GetMem(Buf, InfoSize);

  if GetFileVersionInfo(PChar(FilePath), 0, InfoSize, Buf) then begin
    if VerQueryValue(Buf, '\\', Pointer(pFileInfo), Len) then begin
      case VerType of
        _FILEVERSION_MAJOR    : Result := HiWord(pFileInfo.dwFileVersionMS);
        _FILEVERSION_MINOR    : Result := LoWord(pFileInfo.dwFileVersionMS);
        _FILEVERSION_BUILD_NO : Result := HiWord(pFileInfo.dwFileVersionLS);
        _FILEVERSION_REVISION : Result := LoWord(pFileInfo.dwFileVersionLS);
      end;
    end;
  end;

  FreeMem(Buf);
end;
반응형

'Programming > Delphi' 카테고리의 다른 글

현재 OS 알아내기  (0) 2010.12.16
로컬 아이피 알아내기  (0) 2010.12.16
현재 떠있는 익스플로러 타이틀과 URL 가져오기  (0) 2010.12.16
사운드 플레이  (0) 2010.12.16
임시폴더 경로 구하기  (0) 2010.12.16