Контекстное меню Эксплорера. Как вставить свой пункт?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Контекстное меню Эксплорера. Как вставить свой пункт?

Сообщение xenomorph » 18.06.2005 (Сб) 23:25

Контекстное меню Эксплорера. Как вставить свой пункт?

1. Поиск VBstreets ничего не дал (или пошлите по ссылке).
2. На www.planetsourcecode.com
Есть сорс библиотеки и рег файла. Чё-то он у меня не пашет 8(((.
3. Меню - необходимо глобального уровня - т.е. во всех приложениях
которые используют контекстное меню системы.
4. В гугле есть. Но может у кого есть готовый код?
!!! Время на поиск> совет дорбых людей !!!
--
Заранее огромное спаибо!
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Ещё ...

Сообщение xenomorph » 18.06.2005 (Сб) 23:41

Отцы помогите пожалуйста!
Вот сорс с планеты:
(Запустить не могу 8((( )
Вложения
ShellMnuEx.rar
(11.77 Кб) Скачиваний: 24
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

iolaus
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 19.03.2002 (Вт) 18:33
Откуда: Москва

Сообщение iolaus » 19.06.2005 (Вс) 9:42

а что тебе надо то конкретно, вставь в реестр путь к проге, иконку, название действия для нудного расширения и появится у тя строка в меню...
Код: Выделить всё
If Right$(App.path, 1) = "\" Then ioAppFile = App.path Else ioAppFile = App.path & "\"
ioExeFileChr = Chr$(34) & ioAppFile & App.EXEName & ".exe" & Chr$(34)
ioExeFile = ioAppFile & App.EXEName & ".exe"
Dim Reg As Object
Set Reg = CreateObject("WScript.Shell")
Reg.RegWrite "HKEY_CLASSES_ROOT\.aaa\", "iolaus aaa"
Reg.RegWrite "HKEY_CLASSES_ROOT\.aaa\Content Type", "aaa-iolaus"
Reg.RegWrite "HKEY_CLASSES_ROOT\iolaus aaa\", "вот такая херня"
Reg.RegWrite "HKEY_CLASSES_ROOT\iolaus aaa\DefaultIcon\", ioExeFile & "," & "0"
Reg.RegWrite "HKEY_CLASSES_ROOT\iolaus aaa\Shell\", "iOpen"
Reg.RegWrite "HKEY_CLASSES_ROOT\iolaus aaa\Shell\iOpen\", "Открыть"
Reg.RegWrite "HKEY_CLASSES_ROOT\iolaus aaa\Shell\iOpen\command\", ioExeFileChr & " " & Chr$(34) & "%1" & Chr$(34)

вот пример для файлов *.aaa
This message will self destruct in five seconds!!!

HiMik2003
Новичок
Новичок
 
Сообщения: 33
Зарегистрирован: 21.07.2003 (Пн) 11:32
Откуда: Кишинёв

Сообщение HiMik2003 » 19.06.2005 (Вс) 11:44

А ты почитал комент к IContextMenu_InvokeCommand ?
Похоже для Юникода надо это дело доработать
Вот только исходников библиотеки типов нет...

Глянь здесь работающий пример (и не один):
http://www.mvps.org/emorcillo/download/vb6/shlext.msi

Только перед инсталляцией сохрани реестр - после деинсталляции почему-то некоторые изменения не отменяются :((

Кстати, тема интересная, я тут интересные проблемы обнаружил под ХР при использовании расширений оболочки (контекстное меню), сделанных на VB
Если кого интересует - можно обсудить.

Попробовал под 98 - не работает, действительно...

Пока не знаю почему

А для регистрации просто:
[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\VBContext]
@="{3BF124C0-209F-452F-AA9A-7F4F447ECD97}"
Только поставь свой GUID, который получится при компиляции dll !!!


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

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

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

    TopList