GetFileVersion - C++ Builder

C++ Builder 参考手册 ➙ System::Sysutils ➙ GetFileVersion


获取文件的版本

头文件:#include
命名空间:System::Sysutils
函数原型:

unsigned __fastcall GetFileVersion(const System::UnicodeString AFileName);

参数:

  • AFileName:文件名;

返回值:

  • 文件版本,32位无符号整数,其中高16位为主版本,低16位为次版本;
    例如文件版本为 1.23.456.7890,得到的32位整数高16位等于1,低16位等于23;
  • 如果获取版本失败,返回值为 0xFFFFFFFF;
  • 这个函数通过 Windows API 函数 GetFileVersionInfo 和 VerQueryValue 实现,只支持 Windows 系统;
  • 如果要获取文件版本详细信息,需要使用 Windows API 函数 GetFileVersionInfo 和 VerQueryValue。

例:获取 C:\Windows\explorer.exe 的版本

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    unsigned long uVersion = GetFileVersion(L"C:\\Windows\\explorer.exe");
    if(uVersion == 0xFFFFFFFF)
    {
        Memo1->Lines->Add(L"获取文件版本失败");
        return;
    }
    unsigned short uMajor = uVersion >> 16;
    unsigned short uMinor = (unsigned short) uVersion;
    Memo1->Lines->Add(L"版本:" + IntToStr(uMajor) + L"." + IntToStr(uMinor));
}

相关:

  • System::Sysutils::GetFileVersion
  • System::Sysutils::GetProductVersion
  • System::Sysutils::FileAge
  • System::Sysutils::FileGetDate
  • System::Sysutils::FileGetDateTimeInfo
  • System::Sysutils::FileSetDate
  • System::Sysutils::FileGetAttr
  • System::Sysutils::FileSetAttr
  • System::Sysutils::FileIsReadOnly
  • System::Sysutils::FileSetReadOnly
  • System::Sysutils::FileExists
  • System::Sysutils

C++ Builder 参考手册 ➙ System::Sysutils ➙ GetFileVersion

你可能感兴趣的:(GetFileVersion - C++ Builder)