Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: CL | DM;

Вниз

Добавление пункта меню   Найти похожие ветки 

 
Tristania ©   (2006-03-09 21:29) [0]

Здраствуйте!
У меня простой вопрос. Как можно добавить свой пункт к системному попап-меню, которое появляется при щелчке правой кнопкой мыши на файле?
Также к новому пункту меню нужно прикрутить и обработчик(заглушку).


 
tesseract ©   (2006-03-09 21:45) [1]

Люблю такое через реестр делать:
HKEY_CLASSES_ROOT
раздел - с именем ".расширение"  - в разделе default стоит "описатель"
раздел "описатель " - подраздел DefaultIcon - по умолчанию стоит ссылка на иконку файла.
подраздел "Shel"l, у него подразделы  "Open" и "command" - в command  прописана команда для запуска твоего приложения.

Если для всех файлов см

HKEY_CLASSES_ROOT\* - тут прописаны handler для всех типов файлов. раздел OpenWith для  WinXP+.


 
Tristania ©   (2006-03-09 21:50) [2]

Спасибо, но не мог бы ты это кодом проиллюстрировать?
Просто еще один пункт в меню и МессаджБокс какой-нибудь при на нажатии на него.

Буду крайне благодарен!


 
tesseract ©   (2006-03-09 21:55) [3]

Запусти regedit. и почитай про TRegistry.


 
Tristania ©   (2006-03-09 21:57) [4]

Как работать с реестром я знаю. Основная непонятка с обработчиком. Где он должен находиться?
И последнее: в каких виндах будет работать твой принцип?


 
Tristania ©   (2006-03-09 22:08) [5]

Все, разобрался. Спасибо большое.


 
Tristania ©   (2006-03-09 22:30) [6]

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


 
tesseract ©   (2006-03-09 22:40) [7]


> Пардон, за беспокойство. А могу ли я каким-нибудь образом
> задать индекс своего пункта в этом меню? Ну скажем, чтоб
> он был самым первым?И можно ли добавлять сепараторы? Если
> да, то как?

Скорее нет чем да. Возможно придётся писать Com-handler. По этой теме лучший источник - msdn.microsoft.com


 
Piter ©   (2006-03-09 22:44) [8]

Ну, способ описанный tesseract - не есть корректный.

Если целью является перенять обработку данного типа файла на свою программу - то оно, конечно, да. Меняй  "описатель" у нужного типа файла и вуаля.

Но если тебе нужно просто добавить свой пункт меню и не уничтожать дефолтную обработку сторонней программой - то тут сложности. Нужно писать свою DLL COM-сервер.

Все таки программы, которые могут обработать любой тип файла - редки.

Tristania ©   (09.03.06 22:30) [6]
А могу ли я каким-нибудь образом задать индекс своего пункта в этом меню?


Tristania ©   (09.03.06 22:30) [6]
И можно ли добавлять сепараторы?


используя реестр - видимо, нет.

Только если писать свой COM-сервер.


 
Tristania ©   (2006-03-09 22:45) [9]

Жаль....



Страницы: 1 вся ветка

Текущий архив: 2006.05.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.043 c
15-1146423589
Yanis
2006-04-30 22:59
2006.05.28
Какие могут быть траблы?


1-1145715400
13
2006-04-22 18:16
2006.05.28
Поиск в потоке


15-1146556510
Untermensch
2006-05-02 11:55
2006.05.28
Подскажите, какую нить библиотечку попроще, для MsSQL2005


2-1147263208
VOIDER
2006-05-10 16:13
2006.05.28
вызов процедуры из dpr


15-1146317340
Yegorchic
2006-04-29 17:29
2006.05.28
"Программы, написанные на языках программирования"