![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с кодом GetFileVersionInfo.... (+) [D6, WinXP]
EarlVadim © (2005-09-26 09:59:00)Пример из HELP'a не даёт результата. Видимо руки кривые.
S := Application.ExeName;
n := GetFileVersionInfoSize(PChar(S), n);
if n > 0 then
begin
Buf := AllocMem(n);
GetFileVersionInfo(PChar(S), 0, n, Buf);
S1:= '\StringFileInfo\041904b0\FileVersion' ;
If VerQueryValue(Buf, PChar(S1), Pointer(Value), Len) then
StaticText1.Caption:= Value;
FreeMem(Buf, n);
end
Где я ошибся?
EarlVadim (2005-09-26 11:17:00) [1]СПАСИБО.
dmitry501 (2005-09-26 10:02:00) [2]
// Получить информацию о версии
function GetVersion: string;
var
VerInfoSize: DWORD;
VerInfo: Pointer;
VerValueSize: DWORD;
VerValue: PVSFixedFileInfo;
Dummy: DWORD;
begin
VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy);
GetMem(VerInfo, VerInfoSize);
GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
with VerValue^ do
begin
Result := IntToStr(dwFileVersionMS shr 16);
Result := Result + '.' + IntToStr(dwFileVersionMS and $FFFF);
Result := Result + '.' + IntToStr(dwFileVersionLS shr 16);
Result := Result + '.' + IntToStr(dwFileVersionLS and $FFFF);
// Result := Result + ' (' + IntToStr(dwFileDateLS)+')';
end;
FreeMem(VerInfo, VerInfoSize);
end;