![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
shell Ext. [D6, Win2k]
BLooDMaN © (2003-01-13 16:42:00)Люди, кто - нибудь подскажите как присваивать иконки файлам в зависимости от их СОДЕРЖАНИЯ( а не ТИПА) ?? Или компонент для этого (ShellPlus не предлагать ( если ломаный , то предлагать :) ))
Ну или хотябы доки по ActiveX,COM Плиз очень нужно!
BLooDMaN (2003-01-19 23:06:00) [1]Алло...
BLooDMaN (2003-01-18 23:25:00) [2]Так может кто - нибуть код дать?? Хоть ответе тогда ( Моджахед )...
Palladin (2003-01-18 02:51:00) [3]По крайне мере в том виде как он ее определил в начале...
Palladin (2003-01-18 02:46:00) [4]>[lamer]Barmaglot
Картинки это очень частный случай.
Да. У многих широко употребляемых (и еще более многих не так широко известных) форматов файлов, существовует заголовок файла, то есть некая структурная информация в начале файла о нем самом. Это как правило хорошего тона :). Естественно встречаются файлы и без заголовка. Но данный факт поставленой "кровавым" задаче ничего не дает.
BLooDMaN (2003-01-18 02:16:00) [5]Ща посмотрю большое спасибо . Но я полный 0 в COM технологиях поэтому если есть у тебя хоть какой нибуть кусок кода на ДЕЛЬФИ плиизз кинь мне . Ну а если нет так нет...
Моджахед (2003-01-18 00:22:00) [6]Кстати, ты пропустил хорошую ссылку, которую тебе кинули. Повторю:
http://www.rsdn.ru/files/printv.asp?Progs/dllinfo.xml
и от нее парочка веток отходит. Очень дельно написано про вещи, тебя заинтересовавщие. Но для С++. Повторю, текст неплохой и дельный.
Моджахед (2003-01-18 00:17:00) [7]2 BLooDMaN ©
Уже ведь намекнули, где копать. Чтобы самому запомнить навсегда, прочитай про InProcServer32 в SDK, посмотри глазами как это сделано другими программами в реестре, напр. Photoshop.
Или, вдаваясь в меньшее количество деталей, сделай как Набережных С. (13.01.03 22:16) посоветовал.
С ув.
BLooDMaN (2003-01-17 17:57:00) [8]Мож кто-нибудь все таки знает...
BLooDMaN (2003-01-16 18:05:00) [9]Ну вот опять никто не отвечает :(( будим ждать ...
bloodman (2003-01-16 16:23:00) [10]ЛЮДИ я вернулся ! Я несколько раз заходил но ответов не было :(
Моджахед (13.01.03 21:27)
>Не знаю, наш кровавый мэн пропал, а я так подумал, что ему нужно >для СВОЕЙ программы, рожающей файлы ОДНОГО И ТОГО ЖЕ расширения >сделать так, чтобы, в зависимости от содержимиого, файлы ОДНОГО >И ТОГО ЖЕ расширения показывали некие информативные иконки. Я >купился всего лишь на то, что сам недавно делал такой кунштюк >для своей программки просмотра файлов с геодезической >информацией. Там просто нужно было предосмотр делать на иконках >для удобства.
Допускаю, что я ошибся, и человек, задавший вопрос, мыслит глобально :).
Кстати на * тоже никто не мешает (кроме Аллаха) повесить шелл екст с InProcServer. Так что принципиально задача решается и на Винде.
Ты не ошибся именно это мне и нужно!! Плиз расскажи как это организовать!!!!!
[lamer]Barmaglot (2003-01-16 15:26:00) [11]Просмотрел форматы некоторых файлов и вот что получилось:
Первые 2-3 байта в файле определяют его тип
49, 49 или 4d, 4d - TIFF
ff, d8 - JPEG
42, 4d - BMP
47, 49, 46 - GIF
4d, 5a - EXE, DLL
Кто нибудь из профессионалов отзовитесь. Действительно ли существует признак формата в файле или это у меня глюки?
Poirot (2003-01-15 00:01:00) [12]мне лень литать, а IExtractIcon и IPersistFile предлагали юзать... Или я вопрос не понял... типа програмерски или тулу готовую надо???
[lamer]Barmaglot (2003-01-14 17:19:00) [13]Извините ламера, может я и не прав. Но для файлов графики (Bmp, Jpg и т.д.) первые два байта в файле определяют тип, если исходить из этого можно узнать графический файл даже если у него расширение txt. Вероятнее всего для других файлов тоже есть байты признака. Or i"m wrong?
Моджахед (2003-01-13 22:24:00) [14]2 Набережных С.
Про это все уже было сказано. Кстати, MSDN трогать даже не нужно достаточно Win32 SDK reference
Набережных С. (2003-01-13 22:16:00) [15]Пишешь COM-объект в DLL, реализующий IPersistFile и IExtractIcon. Регистрируешь его в реестре в подключе \ShellEx\IconHandler ключа твоего класса файлов. Собственно, все. Подробности в MSDN
Моджахед (2003-01-13 21:43:00) [16]Тоже не пробовал :)
Идея, конечно, безумная. Ибо торомозить все начнет ужасно. Для каждого файла -- будет вызываться написанная на Делфи функция анализа 8-\
Palladin (2003-01-13 21:34:00) [17]ok :) 1:1
про * чего то мне в голову не пришло....
как нибудь надо бы поэкспериментировать :)
Моджахед (2003-01-13 21:27:00) [18]Я, наверное, однобоко истолковал корневой вопрос. И поспешил с ответом.
Действительно, виндюки привязываются к расширению. А на него потом можно понавешивать сколько угодно чего. Не знаю, наш кровавый мэнпропал, а я так подумал, что ему нужно для СВОЕЙ программы, рожающей файлы ОДНОГО И ТОГО ЖЕ расширения сделать так, чтобы, в зависимости от содержимиого, файлы ОДНОГО И ТОГО ЖЕ расширения показывали некие информативные иконки. Я купился всего лишь на то, что сам недавно делал такой кунштюк для своей программки просмотра файлов с геодезической информацией. Там просто нужно было предосмотр делать на иконках для удобства.
Допускаю, что я ошибся, и человек, задавший вопрос, мыслит глобально :).
Кстати на * тоже никто не мешает (кроме Аллаха) повесить шелл екст с InProcServer. Так что принципиально задача решается и на Винде.
В любом случае, на Маке это делалось проще, и "расширение" тут вообще не играло никакой роли. Так что Palladin 1:1
;)
Palladin (2003-01-13 20:57:00) [19]и после этого вы смеете утверждать что windows способен определить принадлежность (тип, способ открытия, способ предпросмотра и т.д.) файла по его бинарному содержимому?
Palladin (2003-01-13 20:51:00) [20]Вы хотите сказать что изменив у файла Документ.doc расширение на Документ.txt иконка его не сменится на блокнотовскую?
по поводу Win32
вся привязка файлов идет через их расширение. CLSID и etc все прописано в реестре и всегда опирается на расширение.
>Моджахед
речь идет о бинарном содержимом файла а не о его типе.
Что бы windows определить какой это файл и вообще какую callback функцию, и dll ее содержащую, для него вызвать он берет расширение файла (не содержимое).
по поводу thumbnails
возьмем файл фотошопа mypic.psd изменяем режим просмотра содержимого каталога на Thumbnail, мы видим естественно предпросмотр рисунка. ОК. Меняем расширение mypic.psd на mypic.txt и что мы видим?
вот гляньте сами....