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

Вниз

Можно ли вытащить версию exe файла?   Найти похожие ветки 

 
JaoDa   (2004-10-22 14:11) [0]

Имеется две программы которые работают в паре. У каждой из них много версий - некоторые их которых не совместимы между собой.

Цель: при каждом запуске любой из них - проверять совместимость соседней.

Можно ли как-нибудь из одной вытащить версию другой?


 
Гаврила ©   (2004-10-22 14:18) [1]

Можно
см. GetFileVersionInfo


 
snake1977   (2004-10-22 14:22) [2]

если стоит RX
то тама есть юнит
RxVerInf

подключаеш и пишеш
With TVersionInfo.Create(FileName) do
Begin
 Label1.Caption:=FileVersion;
End;


 
han_malign ©   (2004-10-22 14:28) [3]

program FileVer;
{$APPTYPE CONSOLE}
uses Windows,Utils;
var
 _s,_sName: string;
 sz,len: DWORD;
 i: integer;
 _h: THandle;
 _p,_pV: pointer;
begin
 _sName:=ParamStr(1);
 sz:=GetFileVersionInfoSize(PChar(_sName),_h);
 if(sz=0)then Writeln("GetFileVersionInfoSize "+WinErrMsg(GetLastError,true))
 else begin
   Writeln("FileVersionInfoSize= "+IntStr(sz));
   GetMem(_pV,sz);
   if(GetFileVersionInfo(PChar(_sName),_h,sz,_pV))then begin
     if(VerQueryValue(_pV,"\",_p,len))then begin
       with(TVSFixedFileInfo(_p^))do begin
         Writeln("Signature       ="+HexDWord(dwSignature       ));
         Writeln("StrucVersion    ="+HexDWord(dwStrucVersion    ));
         Writeln("FileVersionMS   ="+HexDWord(dwFileVersionMS   ));
         Writeln("FileVersionLS   ="+HexDWord(dwFileVersionLS   ));
         Writeln("ProductVersionMS="+HexDWord(dwProductVersionMS));
         Writeln("ProductVersionLS="+HexDWord(dwProductVersionLS));
         Writeln("FileFlagsMask   ="+HexDWord(dwFileFlagsMask   ));
         Writeln("FileFlags       ="+HexDWord(dwFileFlags       ));
         Writeln("FileOS          ="+HexDWord(dwFileOS          ));
         Writeln("FileType        ="+HexDWord(dwFileType        ));
         Writeln("FileSubtype     ="+HexDWord(dwFileSubtype     ));
         Writeln("FileDateMS      ="+HexDWord(dwFileDateMS      ));
         Writeln("FileDateLS      ="+HexDWord(dwFileDateLS      ));
       end;
     end else Writeln("\ Fail");
     if(VerQueryValue(_pV,"\VarFileInfo\Translation",_p,len))then begin
       for i:=0 to Len div 2 -1 do begin
         Writeln(IntStr(Word(_p^)));
         inc(DWORD(_p),2);
       end;
     end else Writeln("\VarFileInfo\Translation Fail");
   end else Writeln("GetFileVersionInfo "+WinErrMsg(GetLastError,true));
   FreeMem(_pV);
 end;
end.


 
JaoDa   (2004-10-22 14:49) [4]

Спасибо, всем! Полагаю дальше разберусь...



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

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

Наверх





Память: 0.45 MB
Время: 0.035 c
3-1096973121
goldenmax
2004-10-05 14:45
2004.11.07
как сравнить в Query поле в таблице DBF с полем IB


1-1098431939
Baradatiy
2004-10-22 11:58
2004.11.07
Визуальное линковние объектов


1-1098129272
Riant
2004-10-18 23:54
2004.11.07
Сохранение страниц в TWebBrowser


1-1098866748
новичок-512
2004-10-27 12:45
2004.11.07
Стиль Windows XP и кнопки с иконками


1-1098615128
Relaxxx
2004-10-24 14:52
2004.11.07
Как мне найти итемс в КомбоБокс по его уникальному номеру???





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский