
01.11.2009, 16:29
|
|
Познающий
Регистрация: 19.08.2008
Сообщений: 69
Провел на форуме: 458484
Репутация:
31
|
|
Приветствую
Вопрос такой:
Есть программа Нужно узнать её версию и загрузить в переменную
Нашол один способ:
function GetMyVersion:string;
type
TVerInfo=packed record
Nevazhno: array[0..47] of byte; // ненужные нам 48 байт
Minor,Major,Build,Release: word; // а тут версия
end;
var
s:TResourceStream;
v:TVerInfo;
begin
result:='';
try
s:=TResourceStream.Create(HInstance,'#1',RT_VERSIO N); // достаём ресурс
if s.Size>0 then begin
s.Read(v,SizeOf(v)); // читаем нужные нам байты
result:=IntToStr(v.Major)+'.'+IntToStr(v.Minor)+'. '+ // вот и версия...
IntToStr(v.Release)+'.'+IntToStr(v.Build);
end;
s.Free;
except; end;
end;
Но вот неужели нет более простого способа получить эти заветные циферки?
Неужели программа нигде не хранит свою версию кроме как в ресурсах?
|
|
|