Добавление пункта в меню

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Добавление пункта в меню

Сообщение Ariman » 12.11.2004 (Пт) 23:51

Доброго времени суток.
Меня тут заинтересовал один вопрос: как добавить свой пункт в меню, выпадающее по правому клику мышкой на файле?
Просто я тут посмотрел - после установки Hex WorkShop'а в этом меню появился еще один пункт - Hex Edit with HexWorkShop.
И вообще, довольно часто программы добавляют в меню свои пункты.
Как мне кажется, это где-то в реестре прописывается, но где точно - я не знаю.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 13.11.2004 (Сб) 8:50

Для .txt они хранятся в виде подключей в HKEY_CLASSES_ROOT\txtfile\shell
Для остальных типов файлов - аналогично.
Изображение

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 13.11.2004 (Сб) 14:36

А какого-нибудь общего ключа нет?? Если мне нужно, чтобы этот пункт был в меню, вызванном кликом на любом файле, то мне что, перебирать все типы?

Опять же, HEX WORKSHOP - при клике правой кнопкой на любом файле в меню присутствует пункт Hex Edit with HexWorkShop

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.11.2004 (Сб) 17:30

HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 14.11.2004 (Вс) 0:12

Спасибо! Только вот теперь еще вопросец появился, уж простите мое незнание:
Открыл я подключ, увидев знакомое слово - HexWorkshop.
Он назывался HexWorkShopContextMenu.
Я ожидал там увидеть все кроме этого:
{DB34D5DC-D41A-482E-A5EF-8FA0F88761DA}

В общем вопрос такой. Точнее, даже два вопроса:
1) Что это означает.
2) Что конкретко надо сделать, чтобы в контекстное меню добавить строчку с нужным мне названием, чтобы при нажатии на нее запускалась моя прога с параметром - путем к файлу??
Как я понимаю, при нажатии на любой(почти) пункт этого меню в соответствующую программу( будь то HW или Рар) передается путь к файлу?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.11.2004 (Вс) 5:59

Это clsid библиотеки, которая отвечает за добавление пунктов в меню.
Если прописать пункты прямо в реестре, тот библа не понадобится.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList