Главная страница
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.039 c
8-1135881251
Ten
2005-12-29 21:34
2006.05.28
Удаление невидимых граней


2-1146935465
Golik
2006-05-06 21:11
2006.05.28
Data


2-1147463888
Naduev Aleksei
2006-05-12 23:58
2006.05.28
DLL


3-1144598209
ВВВшЬ
2006-04-09 19:56
2006.05.28
jpg в бд


2-1147602331
ДЯМАК
2006-05-14 14:25
2006.05.28
!!!!!!!МАССССИВЫ!!!!!