Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с кодом 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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо