Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
15-1146663545
avsam
2006-05-03 17:39
2006.05.28
Компонента для ввода даты И времени


15-1146750860
acL
2006-05-04 17:54
2006.05.28
Как установить игру


15-1146638376
Kerk
2006-05-03 10:39
2006.05.28
Яндекс отдаст миллион за хорошее образование


2-1147261376
Fl@sh
2006-05-10 15:42
2006.05.28
Клиент сервер и мемори стрим


2-1147348959
q-q
2006-05-11 16:02
2006.05.28
аналог DBGrid, наследник TGraphicControl




   Наверх