Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.25;
Скачать: CL | DM;

Вниз

Как добраться программно к версии ПО   Найти похожие ветки 

 
MAPIIIAJL ©   (2003-09-05 09:37) [0]

Люди нужна ваша помощь. Вопрос: Если зайти в дельфи в свойсва проекта <Shift+Ctrl+F11>, там на вкладке <Инфо Версии>?? (не знаю как в английском) есть информация о текущей версии проекта, а также о номере компановки. А еще там есть галочка, автоувеличения номера компановки. Ну так вот, как программно добраться к значению версии и номера компановки, чтобы автоматом загружать их в форму "Информация о программе", в моей проге.
Зараене спасиб. Подозреваю, что эти данные находятся в файле ресурсов. Но как получить к нему доступ не знаю.


 
AlexVM ©   (2003-09-05 09:42) [1]

Я использую TdfsVersionInfoResource из пакета Delphi Free Stuff Package...


 
mrcat ©   (2003-09-05 09:46) [2]

GetFileVersionInfoSize


 
mrcat ©   (2003-09-05 09:49) [3]

пардон, GetFileVersionInfo


 
MAPIIIAJL ©   (2003-09-05 16:45) [4]

mrcat

Можешь рассказать поподробней, про параметры данной ф-ии.
И если не трудно небольшой примерчик ее применения.
Да и каким макаром оттуда достать номер компановки.
Заранее спасибо.


 
han_malign ©   (2003-09-05 17:42) [5]

program FileVer;
{$APPTYPE CONSOLE}
uses Windows,Utils;
var
_s,_sName: string;
sz,len: DWORD;
i: integer;
_h: THandle;
_p,_pV: pointer;
begin
_sName:=ParamStr(1);
sz:=GetFileVersionInfoSize(PChar(_sName),_h);
if(sz=0)then Writeln("GetFileVersionInfoSize "+WinErrMsg(GetLastError,true))
else begin
Writeln("FileVersionInfoSize= "+IntStr(sz));
GetMem(_pV,sz);
if(GetFileVersionInfo(PChar(_sName),_h,sz,_pV))then begin
if(VerQueryValue(_pV,"\",_p,len))then begin
with(TVSFixedFileInfo(_p^))do begin
Writeln("Signature ="+HexDWord(dwSignature ));
Writeln("StrucVersion ="+HexDWord(dwStrucVersion ));
Writeln("FileVersionMS ="+HexDWord(dwFileVersionMS ));
Writeln("FileVersionLS ="+HexDWord(dwFileVersionLS ));
Writeln("ProductVersionMS="+HexDWord(dwProductVersionMS));
Writeln("ProductVersionLS="+HexDWord(dwProductVersionLS));
Writeln("FileFlagsMask ="+HexDWord(dwFileFlagsMask ));
Writeln("FileFlags ="+HexDWord(dwFileFlags ));
Writeln("FileOS ="+HexDWord(dwFileOS ));
Writeln("FileType ="+HexDWord(dwFileType ));
Writeln("FileSubtype ="+HexDWord(dwFileSubtype ));
Writeln("FileDateMS ="+HexDWord(dwFileDateMS ));
Writeln("FileDateLS ="+HexDWord(dwFileDateLS ));
end;
end else Writeln("\ Fail");
if(VerQueryValue(_pV,"\VarFileInfo\Translation",_p,len))then begin
for i:=0 to Len div 2 -1 do begin
Writeln(IntStr(Word(_p^)));
inc(DWORD(_p),2);
end;
end else Writeln("\VarFileInfo\Translation Fail");
end else Writeln("GetFileVersionInfo "+WinErrMsg(GetLastError,true));
FreeMem(_pV);
end;
end.


 
Anatoly Podgoretsky ©   (2003-09-05 17:45) [6]

MAPIIIAJL © (05.09.03 16:45) [4]
http://podgoretsky.com/ftp/Language/nps/ru.delphi.html#N161


 
MAPIIIAJL ©   (2003-09-12 09:54) [7]

Огромное всем спасибо! Разобрался!



Страницы: 1 вся ветка

Текущий архив: 2003.09.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.033 c
8-82337
Nikos
2003-05-25 14:03
2003.09.25
Проблема с функцией PlaySound


7-82520
Delpher_Gray
2003-07-13 23:11
2003.09.25
Список дисков


1-82249
Dark Elf
2003-09-15 14:05
2003.09.25
Password Edit


14-82427
SergP
2003-09-07 20:34
2003.09.25
Посоветуйте прогу для закачки файлов.


1-82174
r00t
2003-09-15 11:20
2003.09.25
Многострочный