![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Version info (Build)
Nucer © (2007-08-30 12:11:00)Существует ли простой спобос получить данную информацию о своей же программе? Может есть какая-нибудь переменная? Или придется использовать стандартные функции (GetFileVersionInfo)?
DevilDevil (2007-08-30 13:22:00) [1]
mVer := HiWord(vsInfo^.dwProductVersionMS);
lVer := LoWord(vsInfo^.dwProductVersionMS);
rVer := HiWord(vsInfo^.dwProductVersionLS);
bVer := LoWord(vsInfo^.dwProductVersionLS);
DevilDevil (2007-08-30 13:18:00) [2]
mVer := vsInfo^.dwProductVersionMS shr 16;
lVer := vsInfo^.dwProductVersionMS and $FFFF;
rVer := vsInfo^.dwProductVersionLS shr 16;
bVer := vsInfo^.dwProductVersionLS and $FFFF;
Nucer (2007-08-30 12:31:00) [3]2DVM Спасибо за помощь
Fay (2007-08-30 12:31:00) [4]> vsInfo^.dwProductVersionMS div $FFFF;
а что это за прикол с делением на нечётное число ?
DVM (2007-08-30 12:22:00) [5]
function GetFullFileVersion : string;
Var j,w : Cardinal;
s : shortstring;
buf : pointer;
buf2 : pointer;
q : DWord;
vsinfo: ^VS_FIXEDFILEINFO;
mVer,
lVer,
rVer,
bVer,
flag : DWord;
begin
s := ParamStr(0) + #0;
j := GetFileVersionInfoSize(@s[1],w);
if j = 0 then Exit;
buf := Ptr(GlobalAlloc(GMEM_FIXED,j));
GetFileVersionInfo(@s[1], 0, j, buf);
VerQueryValue(buf, '\', buf2, q);
vsinfo := buf2;
mVer := vsInfo^.dwProductVersionMS div $FFFF;
lVer := vsInfo^.dwProductVersionMS mod $10000;
rVer := vsInfo^.dwProductVersionLS div $FFFF;
bVer := vsInfo^.dwProductVersionLS mod $10000;
flag := vsInfo^.dwFileFlags;
s := IntToStr(mVer) + '.' +
IntToStr(lVer) + '.' +
IntToStr(rVer) + '.' +
IntToStr(bVer);
if (flag and VS_FF_DEBUG) > 0 then s := s + ' debug ';
if (flag and VS_FF_PRERELEASE) > 0 then s := s + ' prerelease ';
if (flag and VS_FF_PRIVATEBUILD) > 0 then s := s + ' private ';
if (flag and VS_FF_SPECIALBUILD) > 0 then s := s + ' special ';
Result := s;
GlobalFree(Cardinal(buf));
end;
Desdechado (2007-08-30 12:12:00) [6]Придется.