Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
1-82324
Pomashok
2003-09-15 17:15
2003.09.25
Как вывести в RichEdit e?


14-82392
waw
2003-09-05 11:47
2003.09.25
Компоненты для программирования под Palm OS?


14-82497
Nik8.
2003-09-05 13:12
2003.09.25
СВОБОДА )))


4-82538
DelBoy
2003-07-19 23:27
2003.09.25
Получить выделенную строку с программы


14-82433
Vt
2003-09-08 07:13
2003.09.25
Можно ли определить на каком языке написан




   Наверх