Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.27;
Скачать: CL | DM;

Вниз

Version info (Build)   Найти похожие ветки 

 
Nucer   (2007-08-30 12:11) [0]

Существует ли простой спобос получить данную информацию о своей же программе? Может есть какая-нибудь переменная? Или придется использовать стандартные функции (GetFileVersionInfo)?


 
Desdechado ©   (2007-08-30 12:12) [1]

Придется.


 
DVM ©   (2007-08-30 12:22) [2]


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;


 
Nucer   (2007-08-30 12:31) [3]

2DVM Спасибо за помощь


 
Fay ©   (2007-08-30 12:31) [4]

> vsInfo^.dwProductVersionMS div $FFFF;
а что это за прикол с делением на нечётное число ?


 
DevilDevil ©   (2007-08-30 13:18) [5]

mVer := vsInfo^.dwProductVersionMS shr 16;
lVer := vsInfo^.dwProductVersionMS and $FFFF;
rVer := vsInfo^.dwProductVersionLS shr 16;
bVer := vsInfo^.dwProductVersionLS and $FFFF;


 
DevilDevil ©   (2007-08-30 13:22) [6]

mVer := HiWord(vsInfo^.dwProductVersionMS);
lVer := LoWord(vsInfo^.dwProductVersionMS);
rVer := HiWord(vsInfo^.dwProductVersionLS);
bVer := LoWord(vsInfo^.dwProductVersionLS);



Страницы: 1 вся ветка

Текущий архив: 2008.04.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
15-1204892898
No_Dead
2008-03-07 15:28
2008.04.27
Молодцы майкрософтцы%>


15-1205350043
Interfer0n
2008-03-12 22:27
2008.04.27
Ищем программистов Delphi, C++/Visual Studio


2-1207216879
031178
2008-04-03 14:01
2008.04.27
Как связать 2 запроса


8-1179127828
Provodnick
2007-05-14 11:30
2008.04.27
Как воспроизвести видео из потока (TStream)?


2-1206967574
Papa_serg
2008-03-31 16:46
2008.04.27
Поиск строки в файле.