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

Вниз

прочитать версию о файле   Найти похожие ветки 

 
КомофОнСамый   (2004-01-28 20:04) [0]

где может быть ошибка??

type
{$M+}
//заставляет Delphi включать в код RTTI-информацию для
//перечислимых типов. В основном допускает работу с перечислимыми
//типами как со строками с помощью GetEnumName
TVersionType = (vtCompanyName,
vtFileDescription,
vtFileVersion,
vtInternalName,
vtLegalCopyright,
vtLegalTradeMark,
vtOriginalFileName,
vtProductName,
vtProductVersion,
vtComments);
{$M-}
function GetVersionInfo(VersionType: TVersionType):string;
var
FVersionInfo: array[0..Ord(high(TVersionType))] of string;
sAppName, sVersionType: string;
iAppSize, iLenOfValue, i: Cardinal;
pcBuf, pcValue: PChar;
begin
sAppName:=Application.ExeName;
iAppSize:=GetFileVersionInfoSize(PChar(sAppName), iAppSize);
if(iAppSize>0)then
begin
pcBuf:=AllocMem(iAppSize);
GetFileVersionInfo(PChar(sAppName), 0, iAppSize, pcBuf);
for i:=0 to Ord(High(TVersionType)) do
begin
sVersionType := GetEnumName(TypeInfo(TVersionType), i);
sVersionType := Copy(sVersionType, 3, length(sVersionType));
if(VerQueryValue(pcBuf,
PChar("StringFileInfo\040904E4\"+sVersionType),
Pointer(pcValue),
iLenOfValue))then FVersionInfo[i]:=pcValue;
end;
FreeMem(pcBuf, iAppSize);
end;
result := FVersionInfo[ord(VersionType)];
end;



 
baataar   (2004-01-29 11:43) [1]

что никто не использует версионность? мож у кого есть другой пример??


 
icWasya   (2004-01-29 12:05) [2]

if(VerQueryValue(pcBuf,
PChar(" \StringFileInfo\040904E4\"+sVersionType),
Pointer(pcValue),
iLenOfValue))then FVersionInfo[i]:=pcValue;


 
baataar   (2004-01-29 12:35) [3]

не помогает :(
а у когонить работает?


 
Erik   (2004-01-29 12:56) [4]

У меня все прекрасно уже год работает. Ты в самом проекте галочку поставил? И заполнил инвормацию о версии?
Я так делал:
function GetCurrentVersion(const FileName: string): Int64;
var
Info: Pointer;
Temp,
InfoSize,
FileInfoSize: DWORD;
FileInfo: PVSFixedFileInfo;
CurFile: string;
begin
Result := 0;
CurFile := LowerCase(FileName);
InfoSize := GetFileVersionInfoSize(PChar(CurFile), Temp);
if InfoSize > 0 then
begin
GetMem(Info, InfoSize);
FileInfoSize := SizeOf(FileInfo^);
try
GetFileVersionInfo(PChar(CurFile), 0, InfoSize, Info);
VerQueryValue(Info, "\", Pointer(FileInfo), FileInfoSize);
with FileInfo^ do
begin
Result := dwFileVersionMS;
Result := Result shl 32;
Result := Result + dwFileVersionLS;
end;
finally
FreeMem(Info, InfoSize);
end;
end;
end;


 
baataar   (2004-01-29 13:28) [5]

младшую версию нормально узнал (dwFileVersionLS). а вот старшую нет.

посмотрел FileInfo^ - там ничего похожева нету. а сдвиг дал вообще цифирю очень большую



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

Форум: "Основная";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
1-29414
Боян Георгиев
2004-01-31 11:42
2004.02.10
F1Book дает ошибка! Помогите


1-29399
Ivolg
2004-01-31 14:02
2004.02.10
Gif анимация


14-29522
Mike Kouzmine
2004-01-19 09:31
2004.02.10
С Рождеством


3-29224
dim-
2004-01-17 01:47
2004.02.10
Проблема с запросом


1-29385
Прямой
2004-02-01 22:18
2004.02.10
Надо получить иконку для зарегистрированного в системе файла





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский