Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Мастера DELPHI. Новости мира компонент, FAQ, статьи...


Служба Рассылок Subscribe.Ru проекта Citycat.Ru
Ежедневная рассылка сайта Мастера DELPHI

DELPHI.mastak.ru

Выпуск от 18.08.01 09:04

Новые компоненты   |x|
Лучшее из нашего FAQ   |x|
Как получить информацию о версии файла?
Для этого необходимо вызвать несколько функций API. В приведеннном ниже примере проверяется версия shell32.dll. Функция возвращает значение True - если версия DLL больше или равна 4.71

function TForm1.CheckShell32Version: Boolean;

procedure GetFileVersion(FileName: string; var Major1, Major2,
Minor1, Minor2: Integer);
{ Helper function to get the actual file version information }
var
Info: Pointer;
InfoSize: DWORD;
FileInfo: PVSFixedFileInfo;
FileInfoSize: DWORD;
Tmp: DWORD;
begin
// Get the size of the FileVersionInformatioin
InfoSize := GetFileVersionInfoSize(PChar(FileName), Tmp);
// If InfoSize = 0, then the file may not exist, or
// it may not have file version information in it.
if InfoSize = 0 then
raise Exception.Create('Can''t get file version information for '
+ FileName);
// Allocate memory for the file version information
GetMem(Info, InfoSize);
try
// Get the information
GetFileVersionInfo(PChar(FileName), 0, InfoSize, Info);
// Query the information for the version
VerQueryValue(Info, '\', Pointer(FileInfo), FileInfoSize);
// Now fill in the version information
Major1 := FileInfo.dwFileVersionMS shr 16;
Major2 := FileInfo.dwFileVersionMS and $FFFF;
Minor1 := FileInfo.dwFileVersionLS shr 16;
Minor2 := FileInfo.dwFileVersionLS and $FFFF;
finally
FreeMem(Info, FileInfoSize);
end;
end;

var
tmpBuffer: PChar;
Shell32Path: string;
VersionMajor: Integer;
VersionMinor: Integer;
Blank: Integer;
begin
tmpBuffer := AllocMem(MAX_PATH);
// Get the shell32.dll path
try
GetSystemDirectory(tmpBuffer, MAX_PATH);
Sh! ell32Path := tmpBuffer + '\shell32.dll';
finally
FreeMem(tmpBuffer);
end;

// Check to see if it exists
if FileExists(Shell32Path) then
begin
// Get the file version
GetFileVersion(Shell32Path, VersionMajor, VersionMinor, Blank, Blank);
// Do something, such as require a certain version
// (such as greater than 4.71)
if (VersionMajor >= 4) and (VersionMinor >= 71) then
Result := True
else
Result := False;
end
else
Result := False;
end;


Источник: Дельфи. Вокруг да около.


»»» Прислать свои комментарии

Обсуждается в конференциях   |x|
У нас большой выбор статей   |x|
Использование Microsoft Agent в Delphi
Иногда хочется сделать свои приложения более красивыми, интерактивными, т.е. добавить в них дополнительные и необычные возможности. Неужели компания Microsoft не сделала, для разработчиков никаких подобных . Сделала и очень даже неплохое, называется эта технология Microsoft Agent.
Другие сайты о DELPHI   |x|
Delphi & DirectX (rus)
Программирование на Делфи при помощи DirectX, WinApi, OpenGl and so one. Имеется конференция для программистов
Опрос населения :)
К какой возрастной категории Вы принадлежите ?
»»» меньше 16
»»» от 17 до 20
»»» от 21 до 23
»»» от 24 до 26
»»» от 27 до 30
»»» от 30 до 35
»»» от 35 до 40
»»» от 40 до 44
»»» больше 45
Для души

Хокку дня
Ива свесила нити…
Никак не уйду домой —
Ноги запутались.

Афоризмы
Переходя дорогу только на зеленый свет, тоже можно попасть под машину....

Фраза дня
Что может сделать женщина из ничего? Прическу, салатик и трагедию.

И на закуску коротенький анекдот
Почему деньги фальшивые?.. это копии ...заверенные нотариусом.

Фотоприколы.
Начните день с хорошего настроения!
http://delphi.mastak.ru/cgi-bin/prikol.pl?id=22421


На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (delphi@mastak.com)

Добро пожаловать на сайт -= Мастера DELPHI =- 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться Рейтингуется SpyLog

В избранное