Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Вниз

как у себя выдрать свойства EXE ?   Найти похожие ветки 

 
ДжекиМайер   (2007-03-07 19:58) [0]

интересует версия программы в string загрузить


 
Германн ©   (2007-03-07 20:08) [1]

Надоело уже повторять. Последний раз повторяю:
1.GetFileVersionInfoSize
2.GetFileVersionInfo
3.VerQueryValue


 
RASkov   (2007-03-07 20:24) [2]

> [0] ДжекиМайер   (07.03.07 19:58)

Не мое:
function CurrentFileInfo(NameApp: string): string;
var
 dump: DWORD;
 size: integer;
 buffer: PChar;
 VersionPointer, TransBuffer: PChar;
 Temp: integer;
 CalcLangCharSet: string;
begin
 size := GetFileVersionInfoSize(PChar(NameApp), dump);
 buffer := StrAlloc(size+1);
 try
   GetFileVersionInfo(PChar(NameApp), 0, size, buffer);

   VerQueryValue(buffer, "\VarFileInfo\Translation", pointer(TransBuffer),
   dump);
   if dump >= 4 then
   begin
     temp:=0;
     StrLCopy(@temp, TransBuffer, 2);
     CalcLangCharSet:=IntToHex(temp, 4);
     StrLCopy(@temp, TransBuffer+2, 2);
     CalcLangCharSet := CalcLangCharSet+IntToHex(temp, 4);
   end;

   VerQueryValue(buffer, pchar("\StringFileInfo\"+CalcLangCharSet+
   "\"+"FileVersion"), pointer(VersionPointer), dump);
   if (dump > 1) then
   begin
     SetLength(Result, dump);
     StrLCopy(Pchar(Result), VersionPointer, dump);
   end
   else
     Result := "0.0.0.0";
 finally
   StrDispose(Buffer);
 end;
end;


 
DVM ©   (2007-03-07 20:37) [3]

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;


 
RASkov   (2007-03-07 20:48) [4]

Или найти модуль RxVerInf; входит в RxLib.
Много чего еще можно вытащить из "Версии программы".



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

Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.041 c
2-1173258178
sergeyst
2007-03-07 12:02
2007.04.01
Как убрать слэш из пути


2-1173775558
Choco
2007-03-13 11:45
2007.04.01
установить ключевое поле


2-1173179877
Marat
2007-03-06 14:17
2007.04.01
читаю файл


2-1173426039
wwwrr
2007-03-09 10:40
2007.04.01
constructor


15-1173236991
Slider007
2007-03-07 06:09
2007.04.01
С днем рождения ! 7 марта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский