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

Вниз

Версия своего приложения   Найти похожие ветки 

 
Solden   (2004-08-20 12:37) [0]

Подскажите, как добраться до информации о версии создаваемого приложения? Или это делается через получение инфы об exe-шнике?
Если да то как?
Заранее благодарен.


 
Iconka ©   (2004-08-20 12:39) [1]

Чуть ниже смотри
http://delphimaster.net/view/1-1092904126/&web=1


 
Семен Сорокин ©   (2004-08-20 12:39) [2]

procedure GetVersionAttributes(Name: String; var ACompany, ADescription, AComment: String);
 type
   PVerLang = ^TVerLang;
   TVerLang = packed record
     Charset : Word;
     LangID  : Word;
   end;
 var
     VerInfoSize : DWord;
     dummy       : DWord;
     VerInfo : Pointer;
     VSFixed : PVSFixedFileInfo;
     VSFixedSize : DWORD;
     VTranslation : PVerLang;
     VTRSize : DWORD;
     LangID : String;
     VerKey : String;
     VerDesc : PChar;
     VerDescSize : DWORD;
     VerCompany : PChar;
     VerCompanySize : DWORD;
     VerComment : PChar;
     VerCommentSize : DWORD;
     Status : LongBool;
 begin
  ACompany := "<Not available>";
  ADescription := "<Not available>";
  AComment := "";
  VerInfoSize := GetFileVersionInfoSize(PChar(Name), dummy);
  if (VerInfoSize = 0) then
    Exit;
  GetMem( VerInfo, VerInfoSize );
  try
    Status := GetFileVersionInfo(PChar(Name), 0, VerInfoSize, VerInfo);
    if NOT Status then
      Exit;
    VerQueryValue( VerInfo, "\", Pointer(VSFixed), VSFixedSize);
    VerQueryValue( VerInfo, "\VarFileInfo\Translation", Pointer(VTranslation), VTRSize);
    if (VTRSize = 4) then begin
      LangID := Format("%.4x%.4x", [VTranslation^.CharSet, VTranslation^.LangID]);
      VerKey := "\StringFileInfo\"+LangID+"\FileVersion";//Description";
      Status := VerQueryValue (VerInfo,PChar(VerKey), Pointer(VerDesc), VerDescSize);
      if (Status) AND (VerDescSize <> 0) then
        ADescription := VerDesc;
      VerKey := "\StringFileInfo\"+LangID+"\CompanyName";
      Status := VerQueryValue (VerInfo,PChar(VerKey), Pointer(VerCompany), VerCompanySize);
      if (Status) AND (VerCompanySize <> 0) then
        ACompany := VerCompany;
      VerKey := "\StringFileInfo\"+LangID+"\Comments";
      Status := VerQueryValue (VerInfo,PChar(VerKey), Pointer(VerComment), VerCommentSize);
      if (Status) AND (VerCommentSize <> 0) then
        AComment := VerComment;
    end;
  finally
    FreeMem(VerInfo, VerInfoSize);
  end;
 end;


 
Solden   (2004-08-20 13:10) [3]

Спасибо, Семен Сорокин © .



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

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

Наверх




Память: 0.47 MB
Время: 0.042 c
1-1093032545
Саша
2004-08-21 00:09
2004.09.05
mp3 в Delphi


14-1092724493
del_programer
2004-08-17 10:34
2004.09.05
Исходники виндовс


3-1092223644
DmitryMN
2004-08-11 15:27
2004.09.05
Ошибка в UDF


14-1092742868
DelphiNew
2004-08-17 15:41
2004.09.05
расчёт Возмещение НДС


1-1092727156
Diman
2004-08-17 11:19
2004.09.05
Сортировка в RTF-файле