Форум: "Основная";
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];
Внизформа Найти похожие ветки
← →
55555 (2002-04-18 11:12) [0]Доброе время суток.
Вопрос банальный. Каждый из нас при написании программы писал эту форму. На самом деле EXEшник уже содержит всю информацию коментарии, версию, название продукта, имя компании и тд.
Хотелось бы узнать кто как решает эту задачу.
Вот функция, которую я выдернул где-то в сокровищнице и слегка переделал
function tform1.GetBuildInfo(FileName: String): String;
var
VerInfoSize,
VerValueSize,
Dummy: DWORD;
VerInfo: Pointer;
VerValue: PVSFixedFileInfo;
begin
Result := "";
try
VerInfoSize := GetFileVersionInfoSize(PChar(FileName), Dummy);
begin
GetMem(VerInfo, VerInfoSize);
try
FillChar(VerInfo^, VerInfoSize, 0);
GetFileVersionInfo(PChar(FileName), 0, VerInfoSize, VerInfo);
if VerInfo <> nil then
begin
VerQueryValue(VerInfo, "\", Pointer(VerValue), VerValueSize);
with VerValue^ do
begin
Result := FloatToStr(dwFileVersionMS shr 16);
Result :=Result +"."+ FloatToStr(dwFileVersionMS and $FFFF);
Result :=Result +"."+ FloatToStr(dwFileVersionLS shr 16);
Result :=Result +"."+ FloatToStr( dwFileVersionLS and $FFFF);
end;
end;
finally
FreeMem(VerInfo, VerInfoSize);
end;
end;
except
Result := "";
end;
end;
← →
55555 (2002-04-18 15:34) [1]up^
Не уж то не интересна тема :(
← →
drpass (2002-04-18 16:49) [2]Да нет, у меня была мысль сделать такую фишку... А потом я подумал, а почему бы просто не кинуть Label на форму?
← →
Толик (2002-04-18 17:32) [3]Не то чтобы неинтересна, просто нового ничего не придумать: используются три ф-и
GetFileVersionInfoSize
GetFileVersionInfo
VerQueryValue
и использовать их можно только единственным образом (см. help). А уж какие оболочки вокруг них понавешать - так это уже дело вкуса. Я например оформил это как класс, который по имени файла возвращает инфу о нём...
← →
Pat (2002-04-18 18:46) [4]Для формы "О программе" я юзаю ShellAbout()
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c