![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Добавление пункта меню [D6, Win95/98, WinME, NT4, Win2k, WinXP]
Tristania © (2006-03-09 21:29:00)Здраствуйте!
У меня простой вопрос. Как можно добавить свой пункт к системному попап-меню, которое появляется при щелчке правой кнопкой мыши на файле?
Также к новому пункту меню нужно прикрутить и обработчик(заглушку).
Tristania (2006-03-09 22:45:00) [1]Жаль....
Piter (2006-03-09 22:44:00) [2]Ну, способ описанный tesseract - не есть корректный.
Если целью является перенять обработку данного типа файла на свою программу - то оно, конечно, да. Меняй "описатель" у нужного типа файла и вуаля.
Но если тебе нужно просто добавить свой пункт меню и не уничтожать дефолтную обработку сторонней программой - то тут сложности. Нужно писать свою DLL COM-сервер.
Все таки программы, которые могут обработать любой тип файла - редки.
Tristania © (09.03.06 22:30) [6]
А могу ли я каким-нибудь образом задать индекс своего пункта в этом меню?
Tristania © (09.03.06 22:30) [6]
И можно ли добавлять сепараторы?
используя реестр - видимо, нет.
Только если писать свой COM-сервер.
tesseract (2006-03-09 22:40:00) [3]
> Пардон, за беспокойство. А могу ли я каким-нибудь образом
> задать индекс своего пункта в этом меню? Ну скажем, чтоб
> он был самым первым?И можно ли добавлять сепараторы? Если
> да, то как?
Скорее нет чем да. Возможно придётся писать Com-handler. По этой теме лучший источник - msdn.microsoft.com
Tristania (2006-03-09 22:30:00) [4]Пардон, за беспокойство. А могу ли я каким-нибудь образом задать индекс своего пункта в этом меню? Ну скажем, чтоб он был самым первым?
И можно ли добавлять сепараторы? Если да, то как?
Tristania (2006-03-09 22:08:00) [5]Все, разобрался. Спасибо большое.
Tristania (2006-03-09 21:57:00) [6]Как работать с реестром я знаю. Основная непонятка с обработчиком. Где он должен находиться?
И последнее: в каких виндах будет работать твой принцип?
tesseract (2006-03-09 21:55:00) [7]Запусти regedit. и почитай про TRegistry.
Tristania (2006-03-09 21:50:00) [8]Спасибо, но не мог бы ты это кодом проиллюстрировать?
Просто еще один пункт в меню и МессаджБокс какой-нибудь при на нажатии на него.
Буду крайне благодарен!
tesseract (2006-03-09 21:45:00) [9]Люблю такое через реестр делать:
HKEY_CLASSES_ROOT
раздел - с именем ".расширение" - в разделе default стоит "описатель"
раздел "описатель " - подраздел DefaultIcon - по умолчанию стоит ссылка на иконку файла.
подраздел "Shel"l, у него подразделы "Open" и "command" - в command прописана команда для запуска твоего приложения.
Если для всех файлов см
HKEY_CLASSES_ROOT\* - тут прописаны handler для всех типов файлов. раздел OpenWith для WinXP+.