C++ Builder 参考手册 ➙ System::Sysutils ➙ GetFileVersion
获取文件的版本
头文件:#include <System.SysUtils.hpp>
命名空间: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