| Код | UnicodeString __fastcall VersionInfo(UnicodeString Value) { DWORD h; DWORD Size; HGLOBAL buf; wchar_t* ValueBuf; UnicodeString CharSet; UnicodeString strValue;
try { Size = GetFileVersionInfoSizeW(Application->ExeName.w_str(), &h); if(Size>0) { buf=GlobalAlloc(GMEM_FIXED, Size); GetFileVersionInfoW(Application->ExeName.w_str(),h,Size,buf); VerQueryValueW(buf, UnicodeString(L"\\VarFileInfo\\Translation").w_str(), &(void*)ValueBuf, NULL); CharSet=IntToHex((int)MAKELONG(HIWORD(*(int*)(ValueBuf)),LOWORD(*(int*)ValueBuf)), 8); VerQueryValueW(buf,UnicodeString(L"\\StringFileInfo\\"+CharSet+L"\\"+Value).w_str(),&(void*)ValueBuf,NULL); strValue = UnicodeString(ValueBuf); } } __finally { if (Size>0) GlobalFree(buf); }
return strValue; }
|
| Код | Label1->Caption = VersionInfo(L"FileVersion"); // Версия файла Label2->Caption = VersionInfo(L"LegalCopyright"); // Авторское право Label3->Caption = VersionInfo(L"Comments"); // Коментарий
|
Короче суть понятна надеюсь
P.S. Чуточку поправил |