Для продвинутых

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Для продвинутых

Сообщение Gemini » 02.04.2003 (Ср) 13:23

Люди помогите пожалуйсто !!!!!!!!!!!!
Я хочу сделать такую штуку: Все прекрасно знают что при просмотре свойств файлов например фотошоповских psd есть несколько закладок.
1)Общие
2)Photoshop Image
3)Caption
4)KeyWords
и т.д.

вот и я хочу сделать такую вещь что бы при просмотре моих файлов добавлялись всякие там закладки.

Я решил проследить как определяет винда надо ли добавить закладки, проследил всё тот же Pthotoshop 5.0

При нажатие свойств винда проверяет по расширению что это за файл.
:
[HKEY_CLASSES_ROOT\.PSD]
@="Photoshop.Image.5"

[HKEY_CLASSES_ROOT\.PSD\ShellNew]
"NullFile"=""

[HKEY_CLASSES_ROOT\.PSD\UndoClass]
@="Photoshop.Image.5"

Потом ссылаеться на свойства (чем его открывать и т.д.)
:
HKEY_CLASSES_ROOT\Photoshop.Image.5]
@="Adobe Photoshop Image"

[HKEY_CLASSES_ROOT\Photoshop.Image.5\Insertable]
@=""

[HKEY_CLASSES_ROOT\Photoshop.Image.5\shell]

[HKEY_CLASSES_ROOT\Photoshop.Image.5\shell\open]

[HKEY_CLASSES_ROOT\Photoshop.Image.5\shell\open\command]
@="\"C:\\PROGRAM FILES\\ADOBE\\PHOTOSHOP 5.0\\PHOTOSHP.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Photoshop.Image.5\shell\print]

[HKEY_CLASSES_ROOT\Photoshop.Image.5\shell\print\command]
@="C:\\PROGRAM FILES\\ADOBE\\PHOTOSHOP 5.0\\PHOTOSHP.EXE/p %1"

[HKEY_CLASSES_ROOT\Photoshop.Image.5\DefaultIcon]
@="C:\\PROGRAM FILES\\ADOBE\\PHOTOSHOP 5.0\\PHOTOSHP.EXE,1"

[HKEY_CLASSES_ROOT\Photoshop.Image.5\CLSID]
@="{32DDCE4C-C4FB-11d1-AAB2-00C04FA3014E}"

[HKEY_CLASSES_ROOT\Photoshop.Image.5\protocol]

[HKEY_CLASSES_ROOT\Photoshop.Image.5\protocol\StdFileEditing]

[HKEY_CLASSES_ROOT\Photoshop.Image.5\protocol\StdFileEditing\server]
@="C:\\PROGRAM FILES\\ADOBE\\PHOTOSHOP 5.0\\PHOTOSHP.EXE"

'' И уже тут происходит самое интересное винда переходит на ссылку {0B6DC6EE-C4FD-11d1-819A-00C04FB69B4D} где зарегистрированна dll'шка.
[HKEY_CLASSES_ROOT\Photoshop.Image.5\shellex]

[HKEY_CLASSES_ROOT\Photoshop.Image.5\shellex\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\Photoshop.Image.5\shellex\PropertySheetHandlers\PSDPage]
@="{0B6DC6EE-C4FD-11d1-819A-00C04FB69B4D}"

[HKEY_CLASSES_ROOT\Photoshop.Image.5\shellex\IconHandler]
@="{0B6DC6EE-C4FD-11d1-819A-00C04FB69B4D}"


: Переход на зарегистрированную dll'шку.

[HKEY_CLASSES_ROOT\CLSID\{0B6DC6EE-C4FD-11d1-819A-00C04FB69B4D}]
@="Photoshop Icon Handler"

[HKEY_CLASSES_ROOT\CLSID\{0B6DC6EE-C4FD-11d1-819A-00C04FB69B4D}\InProcServer32]
@="C:\\PROGRAM FILES\\ADOBE\\PHOTOSHOP 5.0\\PSICON.DLL"
"ThreadingModel"="Apartment"


----------------------
Потом её загружает и получаются новые вкладки.

ResHack'ом я посмотрел внутриности этой dll'шки и увидел там эти закладки. и строковые ресурсы с их названиями.
что самое интересное свойства закладок были такие :

STYLE WS_CHILD | WS_VISIBLE | WS_BORDER
CAPTION ""

Я попробывал создать свою dll'ку и заменил ссылку {0B6DC6EE-C4FD-11d1-819A-00C04FB69B4D} на ссылку своей зарегистрированной dll'ки.
Но у меня нечего не получилось!!!!!!!!!!!!!!!!!!!! :(

Может из вас ктонибудь поможет мне исходником или ссылкой где всё поясняеться ( можно и доводы свои)
БУДУ ВСЕМ ОЧЕНЬ СИЛЬНО БЛАГОДАРЕН ЕСЛИ ПОМОЖИТЕ!!!!!!!!!!!!!!!!!!!!!.

goro
Постоялец
Постоялец
 
Сообщения: 494
Зарегистрирован: 03.12.2002 (Вт) 11:45
Откуда: Украина, Запорожье

Сообщение goro » 02.04.2003 (Ср) 20:28

Да. Тяжелый вопрос. Я точно также как и ты мучался. Все так же делал раньше но ничего не получалось. Мне бы тоже хотелось бы узнать как это можно сделать.
ПРЕВЕД

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 02.04.2003 (Ср) 22:04

Мне тут помогли надыбать инфу как енто делается но проблема одна там код для VC++ а я его незнаю :(
Вот ссылка на пагу:
http://www.rsdn.ru/article/default.asp? ... hlext5.xml
Если кто сможет перевести этот код на VB то пожалуйсто пришлите мне пример на мыло!!!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 57

    TopList