OLE2Viewer - анализ и просмотр структуры файлов OLE2

Здесь можно обсудить ваш любимый плагин.
rivitna
Posts: 35
Joined: Wed 30 Nov, 2016 10:58
Has thanked: 1 time
Been thanked: 2 times

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Post by rivitna »

Обсуждение плагина OLE2Viewer
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Post by HaRT »

Latest post of the previous page:

rivitna wrote: такая функциональность необходима
Я затеял обсуждение безотносительно конкретного плагина: viewtopic.php?p=142987#p142987
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Post by HaRT »

zg wrote:
HaRT wrote: zg, а как бы тогда на панели плагина сделать визуальное отличие „просто файлов“ от „файлов-директорий“?
OPIF_USEATTRHIGHLIGHTING и любой удобный атрибут.
Предлагаю атрибут “Reparse point” — для него частенько уже настроена раскраска, как у директорий (или похожая).
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shtirla
Posts: 117
Joined: Wed 04 Mar, 2009 20:09
Has thanked: 10 times
Been thanked: 2 times

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Post by Shtirla »

Подскажите как то можно отключить обработку плагина по Enter ? Хотелось бы все таки открывать файлы а не заходить в них, а когда нужно вызывать плагин.
И хотелось бы узнать полный список расширений на который срабатывает плагин.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Post by HaRT »

Shtirla wrote: Tue 26 Sep, 2017 03:56открывать файлы а не заходить в них
Эта проблема не специфична для конкретного плагина. Обсуждение тут: Вместо запуска входим в файл как в архив.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shtirla
Posts: 117
Joined: Wed 04 Mar, 2009 20:09
Has thanked: 10 times
Been thanked: 2 times

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Post by Shtirla »

Тем не менее не кажется ли Вам что это правило хорошего тона, задавать обработку поведения в настройках плагина?
Тем более как угадать то все расширения на которых плагин будет срабатывать, если разработчик не указывает таких спецификаций?
Если уж я арклайт с мультиарком подружил (извините с раром работать надо), а в ассоциациях девственная чистота, не поверите. при том плагинов всего больше 70. Не первый десяток лет с фаром то...
По мне так проще тогда загружать этот плагин только когда нужно, но это не верный путь.

Вобщем просьба к разработчику, если сможете - реализовать такой функционал, плагин классный!
rivitna
Posts: 35
Joined: Wed 30 Nov, 2016 10:58
Has thanked: 1 time
Been thanked: 2 times

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Post by rivitna »

Shtirla wrote: Tue 26 Sep, 2017 03:56Подскажите как то можно отключить обработку плагина по Enter ? Хотелось бы все таки открывать файлы а не заходить в них, а когда нужно вызывать плагин.
И хотелось бы узнать полный список расширений на который срабатывает плагин.
Shtirla wrote: Wed 27 Sep, 2017 12:11Тем не менее не кажется ли Вам что это правило хорошего тона, задавать обработку поведения в настройках плагина?
Тем более как угадать то все расширения на которых плагин будет срабатывать, если разработчик не указывает таких спецификаций?
Если уж я арклайт с мультиарком подружил (извините с раром работать надо), а в ассоциациях девственная чистота, не поверите. при том плагинов всего больше 70. Не первый десяток лет с фаром то...
По мне так проще тогда загружать этот плагин только когда нужно, но это не верный путь.

Вобщем просьба к разработчику, если сможете - реализовать такой функционал, плагин классный!
В принципе можно сделать плагин так, чтобы заходил в файлы только Ctrl-PgDn, а по Enter опционально. Я, признаться, целевые файлы для плагина сам открываю по Shift-Enter.

Списка расширений нет совсем, потому как нет привязки к расширению: плагин проверяет сигнатуру и поля заголовка OLE2. Если все OK, то открывает.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Post by John Doe »

rivitna wrote: Sat 14 Oct, 2017 18:48Списка расширений нет совсем
Иногда полезно иметь настройку списка расширений, потому что в противном случае слишком много плагинов "обнюхивают" каждый файл, что создаёт неприятные задержки.
rivitna
Posts: 35
Joined: Wed 30 Nov, 2016 10:58
Has thanked: 1 time
Been thanked: 2 times

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Post by rivitna »

Насчет настройки списка расширений может и справедливо. Расширений файлов Compound File очень много, а расширения может и не быть вовсе

Code: Select all

HANDLE WINAPI AnalyseW(
  const struct AnalyseInfo *Info
  )
{
  if (!Info ||
      (Info->StructSize < sizeof(struct AnalyseInfo)) ||
      !Info->FileName)
    return (HANDLE)0;  /* return nullptr; */
  // Анализ файла-контейнера
  return (HANDLE)AnalyzeStorage(Info->FileName,
                                Info->Buffer,
                                Info->BufferSize);
}

int AnalyzeStorage(
  const wchar_t *pwszFileName,
  const void *buf,
  size_t bufSize
  )
{
  if ((bufSize < 2 * sizeof(uint32_t)) ||
      (((uint32_t *)buf)[0] != OLE2_SIGNATURE) ||
      (((uint32_t *)buf)[1] != OLE2_VERSION))
    return 0;

  const PCOMPOUND_FILE_HEADER pFileHeader = (PCOMPOUND_FILE_HEADER)buf;
  if (bufSize >= sizeof_through_field(COMPOUND_FILE_HEADER, wSectorShift))
  {
    if ((pFileHeader->wSectorShift < 0x0009) ||
        (pFileHeader->wSectorShift > 0x000C))
      return 0;
    if (bufSize >= sizeof_through_field(COMPOUND_FILE_HEADER,
                                        wMiniSectorShift))
    {
      if ((pFileHeader->wMiniSectorShift == 0) ||
          (pFileHeader->wMiniSectorShift >= pFileHeader->wSectorShift))
        return 0;
    }
  }
  return 1;
}
А насчет "неприятных задержек" все же не соглашусь: сколько их добавит код выше?
Last edited by rivitna on Sat 14 Oct, 2017 19:52, edited 1 time in total.
Post Reply

Return to “Обсуждение плагинов”