Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

чтение информации о файле

28K
21 ноября 2007 года
SavOk
9 / / 05.10.2007
нашел функцию:
Код:
function FileVersion(FileName: string): string;
var Bufer: Pointer;
    BufSize, Len, dwHandle: Cardinal;
    VerInfo: PVSFixedFileInfo;
    s:PAnsiChar;
begin
  dwHandle:=0;
  Len:=0;
  BufSize:=65535;
  Bufer:=nil;

  Result := 'Не могу прочитать информацию';
  s:=PChar(FileName);
  BufSize := GetFileVersionInfoSize(s, dwHandle);
  if BufSize <> 0 then
    begin
      GetMem(Bufer, BufSize);
      try
        GetFileVersionInfo(PChar(FileName), 0{dwHandle}, BufSize, Bufer);
        VerQueryValue(Bufer, '\', Pointer(VerInfo), Len);
        with VerInfo^ do
          Result := Format('%d.%d.%d.%d', [
            dwFileVersionMS shr 16,
            dwFileVersionMS and $FFFF,
            dwFileVersionLS shr 16,
            dwFileVersionLS and $FFFF]);
      finally
      FreeMem(Bufer, BufSize);
      end;
    end;
end;


при всем этом
 
Код:
GetFileVersionInfoSize(s, dwHandle);
- в любом случае возвращает 0 значение. Не понимаю почему так.
 
Код:
FileName
- полный путь к файлу.

Может кто нибудь сталкивался с этой проблемой.
489
22 ноября 2007 года
NeO_u
277 / / 11.10.2006
Для поиска в чем ошибка, если вернуло 0, используй GetLastError()
534
22 ноября 2007 года
HarryAxe
448 / / 19.01.2006
Всё должно работать, если FileName - путь к бинарнику (exe/dll/ocx/ax etc.) Для простого (например, текстового) файла, исессьна, не проканает. Только вызов GetFileVersionInfoSize(s, dwHandle) неплохо было б заменить на GetFileVersionInfoSize(s, 0), а то переменная типа DWORD, подставленная вместо указателя на таковую, лично у меня вызывает лёгкую депрессию...
28K
22 ноября 2007 года
SavOk
9 / / 05.10.2007
Спасибо, с версией теперь все нормально. А вот если дату создания/редактирования и тд. надо получить - VerQueryValue() использовать или что-то другое посоветуете?
28K
22 ноября 2007 года
SavOk
9 / / 05.10.2007
блин, торможу
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог