Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Info для приложения. [D7, XP]


Wood ©   (2006-05-03 16:29:00) 

Доброй ночи.
В опциях приложения можно установить информацию о exe-файле - такие как FileInfo, Version и т.п.
Как обратиться к этим данным из программы?
Спасибо.


Джо   (2006-05-03 16:54:00) [1]

В таком духе:
procedure TForm1.Button1Click(Sender: TObject);
type
 TVer1 = record
   Minor: Word;
   Major: Word;
 end;

 TVer2 = record
   Build: Word;
   Release: Word;
 end;

var
 VerBuf: Pointer;
 InfoSize: DWord;
 FI: PVSFixedFileInfo;
 VerSize: DWORD;
 Ver1: TVer1;
 Ver2: TVer2;

 Dummy: Cardinal;
begin
 InfoSize := GetFileVersionInfoSize(Pchar(Application.ExeName),Dummy);
 if InfoSize = 0 then
   RaiseLastOSError;

 GetMem (VerBuf, InfoSize);
 try
   if not GetFileVersionInfo (Pchar(Application.ExeName),0,InfoSize, VerBuf) then
     RaiseLastOSError;

   VerQueryValue(VerBuf, '\', Pointer(FI), VerSize);

   Ver1 := TVer1(FI.dwFileVersionMS);
   Ver2 := TVer2(FI.dwFileVersionLS);

   ShowMessageFmt ('%d.%d.%d.%d',
     [Ver1.Major,Ver1.Minor,Ver2.Build,Ver2.Release]);

 finally
   FreeMem (VerBuf);
 end;
end;


Wood   (2006-05-03 16:52:00) [2]


> Джо ©   (03.05.06 16:47) [2]

А-а...! Ну, конечно.. Сенкс ба-а-альшой!


Джо   (2006-05-03 16:47:00) [3]

GetFileVersionInfoSize, GetFileVersionInfo, VerQueryValue.


Wood   (2006-05-03 16:47:00) [4]

м...м чу-уть подробнее, плз! Это то, что прикомпиливается к приложению ресурсом? Где можно посмотреть на пример обращения к этому ресурсу, что это за ресурс, его формат?


Desdechado   (2006-05-03 16:43:00) [5]

считать как ресурс


Наверх

Титульная страница Поиск, карта сайта Написать письмо