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

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

свойства файлов [D6, Win2k]


lead-in ©   (2008-03-19 11:04:00) 

Добрый день, подкажите, плиз, как добраться до информации которую можно увидеть в свойствах файла в графе "Сводка" (там где можно увидеть поля "Название", "Тема", "Автор" и др.).
Не понятно ещё где эта ниф. храниться, ибо если создать какой-либо файлик и записать в эти поля что-нить на размер файла это никак не влияет (или по крайней мере Win это в размер файла не включает)


Rouse_   (2009-02-16 21:03:00) [1]


> понятия не имею, но знакомому потребовалось...

Знакомому понадобилось все-же читать (STGM_READ) или таки писать (STGM_WRITE)?


webbrowser   (2009-02-16 15:35:00) [2]


> clickmaker ©   (16.02.09 12:18) [7]

не знаю:(
не проверил... как-то:(. Да и не знаю как.

у меня там другие константы стояли:

OleCheck(StgOpenStorageEx(StringToOleStr(AFileName),
  STGM_DIRECT or STGM_READ or STGM_SHARE_DENY_READ, STGFMT_ANY, 0, nil, nil,
  @IID_IPropertySetStorage, Storage));
OleCheck((Storage as IPropertySetStorage).Open(FMTID_DocSummaryInformation,
  STGM_DIRECT or STGM_READ or STGM_SHARE_EXCLUSIVE, PropStorage));

так работает:

OleCheck(StgOpenStorageEx(StringToOleStr(AFileName),
  STGM_DIRECT or STGM_READWRITE or STGM_SHARE_EXCLUSIVE, STGFMT_ANY, 0, nil, nil,
  @IID_IPropertySetStorage, Storage));
OleCheck((Storage as IPropertySetStorage).Open(FMTID_DocSummaryInformation,
  STGM_DIRECT or STGM_READWRITE or STGM_SHARE_EXCLUSIVE, PropStorage));

в MSDN написано, что StgOpenStorageEx не работает с STGM_WRITE


clickmaker   (2009-02-16 12:18:00) [3]

> вместо STGM_READ ставить STGM_WRITE, то вылазиет ошибка

и какая же?


webbrowser   (2009-02-14 12:43:00) [4]


> Германн ©   (14.02.09 03:16) [5]

понятия не имею, но знакомому потребовалось... файлов очень много...


Германн   (2009-02-14 03:16:00) [5]


> webbrowser   (14.02.09 02:56) [4]
>
>
> > Rouse_ ©   (20.03.08 09:43) [3]
>
> а вот как изменять?

А зачем изменять?


webbrowser   (2009-02-14 02:56:00) [6]


> Rouse_ ©   (20.03.08 09:43) [3]

а вот как изменять?

 OleCheck(StgOpenStorageEx(StringToOleStr(AFileName),
   STGM_DIRECT or STGM_READ or STGM_SHARE_EXCLUSIVE, STGFMT_ANY, 0, nil, nil,
   @IID_IPropertySetStorage, Storage));
 OleCheck((Storage as IPropertySetStorage).Open(FMTID_DocSummaryInformation,
   STGM_DIRECT or STGM_READ or STGM_SHARE_EXCLUSIVE, PropStorage));

если вместо STGM_READ ставить STGM_WRITE, то вылазиет ошибка...


Rouse_   (2008-03-20 09:43:00) [7]

От тут посмотри: http://rouse.drkb.ru/winapi.php#ntfsthreads


tesseract   (2008-03-19 21:11:00) [8]


> Не понятно ещё где эта ниф. храниться, ибо если создать
> какой-либо файлик и записать в эти поля что-нить на размер
> файла это никак не влияет (или по крайней мере Win это в
> размер файла не включает)


Эта "Сводка" фактически плагин для эксплорера. Она выдирает инфу из конкретного файла и передаёт в эксплорер в нужном формате.


Сергей М.   (2008-03-19 20:01:00) [9]

Возьми любую книжульку от Эрика Хармона - там эта тема если не развита до демо-примеров, то снабжена довольно внятным вектором.


Наверх

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