Все бесплатно
    Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.



Вопросы
  Поиск по EasyTable
   Категория: Базы данных
  Создание цветных строк в ListBox
   Категория: Компоненты
  Поставить пароль на Paradox
   Категория: Базы данных
  Пароль на ADO
   Категория: Базы данных
  Форма всегда наверху
   Категория: Компоненты
  Упаковать *.mdb-файл
   Категория: Базы данных
  Удалить или оставить симолы
   Категория: Текст и строки
  Числовой формат ячейки в Excel
   Категория: Базы данных
  Сохранить документ Word как RTF на DELPHI
   Категория: Файловая система

Delphi - База Знаний: Получить версию программы VersionInfo

  << Вернуться к Содержанию  

function CurrentVersion: String;
var
VerInfoSize, Dummy: DWORD;
PVerBbuff, PFixed : Pointer;
FlName : PChar;
FixLength : UINT;
FVersionMS : Cardinal;
FVersionLS : Cardinal;
begin
Result := '';
FlName := PChar(paramstr(0));
VerInfoSize := GetFileVersionInfoSize(FlName, Dummy);
if VerInfoSize = 0 then Exit;
GetMem(PVerBbuff, VerInfoSize);
try
  if GetFileVersionInfo(FlName, 0, VerInfoSize, PVerBbuff) then
  begin
    if VerQueryValue(PVerBbuff, '', PFixed, FixLength) then
    begin
      FVersionMS := PVSFixedFileInfo(PFixed)^.dwFileVersionMS;
      FVersionLS := PVSFixedFileInfo(PFixed)^.dwFileVersionLS;
      Result :=
        Format('%d.%d.%d.%d', [LongRec(FVersionMS).Hi,LongRec(FVersionMS).Lo, LongRec(FVersionLS).Hi, LongRec(FVersionLS).Lo]);
    end;
  end;
finally
  FreeMem(PVerBbuff);
end;
end;
  << Вернуться к Содержанию