Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.017 c
14-82476
Карлсон
2003-09-05 16:23
2003.09.25
рассказ Бредбери?


11-82166
XsID
2003-01-21 03:45
2003.09.25
Проблеммы


1-82235
LeNa19
2003-09-10 23:25
2003.09.25
создание обработчиков событий в runtime


3-82094
Фикус
2003-09-04 14:56
2003.09.25
dbf -> interbase


7-82532
Dionis
2003-07-14 16:05
2003.09.25
Опять CDROM





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский