Главная страница
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.04 c
4-1090495731
@lex@nder
2004-07-22 15:28
2004.09.05
Запись CD


4-1090601650
}|{yk
2004-07-23 20:54
2004.09.05
Как "прибить" процесс?


14-1092296755
nikkie
2004-08-12 11:45
2004.09.05
критика кода DMClient


4-1090268158
John
2004-07-20 00:15
2004.09.05
Стиль WinXp


8-1087242022
DimDim
2004-06-14 23:40
2004.09.05
TRxGIFAnimator и проблемы с ним