Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

контекстное меню

3.9K
20 июля 2003 года
max_crt
8 / / 18.07.2003
Подскажите, пожайлуста, возможно ли средствами C++ присвоить контекстному меню
определенного типа файлов(.zip, .exe, и.т.п.) дополнительный пункт, т.е. чтобы при щелчке
правой кнопкой мышки над файлом определенного типа появлялось меню с дополнительным пунктом
и по щелчку на этот пункт запускалась определенная программа?
293
21 июля 2003 года
SEDEGOFF
586 / / 06.10.2002
Да - возможно
3.9K
21 июля 2003 года
max_crt
8 / / 18.07.2003
Цитата:
Originally posted by SEDEGOFF
Да - возможно



А каким образом это делается, через api функции, если api, то какие? Если можно поподробнее или если есть то подкинь пожайлуста ссылочку.

429
18 августа 2003 года
Slon
78 / / 20.01.2000
Цитата:
Originally posted by max_crt

А каким образом это делается, через api функции, если api, то какие? Если можно поподробнее или если есть то подкинь пожайлуста ссылочку.


Через редактирования реестра.
Отрывок из статьи:

//-----------------------------
Для того, чтобы файл запускался по двойному щелчку мыши на нем необходимо зарегистрировать данный тип файла в системе. Информация об этом хранится в сиситемном реестре,в разделе HKEY_CLASSES_ROOT.
Чтобы зарегистрировать расширение файла необходимо:
создать раздел с именем-".XXX",
где ХХХ-расширение файла.
параметр по умолчанию изменить на имя расширения.
Например:
создаем раздел ".res"-файл ресурсов.
Присваиваем ему имя расширения-"bpresfile"
Имя расширения необходимо для того, если несколько разных расширений используются для обозначения идентичных объектов, которые обрабатываются одной программой.Для этого другому расширению присваиваем такое же имя.Например: ресурсы также хранятся в файлах ".RC",если мы захотим зарегистрировать и это расширение мы присвоем ему имя-"bpresfile".
Вторым этапом создаем в разделе НKEY_CLASSES_ROOT раздел с именем идентичным ИМЕНИ РАСШИРЕНИЯ.
Для нашего примера создаем раздел-BPRESFILE.
В этом разделе вы можете создать несколько подразделов каждый из которых отвечает за какое либо действие над файлом:
DefaultIcon-присвоить файлу значок.Параметр по умолчанию это полный путь к файлу в котором хранится значек.
Если в файле несколько иконок через запятую указывается номер иконки начиная с 0.
В нашем примере HKEY_CLASSES_ROOT\BPPAS\DefaultIcon
@="E:\lang\bp\bin\bpw.exe,1"
shell -Здесь вы также создаете несколько разделов: edit,
open,print-в каждом из которых создаете раздел сommand. В этом разделе параметр по умолчанию и будет командой которая выполняется с файлом.
Для нашего примера:
HKEY_CLASSES_ROOT\BPPAS\shell\open\command
@="E:\lang\bp\bin\bpw.exe %1"
HKEY_CLASSES_ROOT\BPPAS\shell\edit\command
@="E:\lang\bp\bin\bpw.exe %1"
HKEY_CLASSES_ROOT\BPPAS\shell\print\command
@="C:\WINDOWS\NOTEPAD.EXE /p %1"
CLSID -Зарезервированный в системе номер.
//-----------------------------

860
26 августа 2003 года
Abell2000
138 / / 15.01.2003
Посмотри API help, раздел shell extensions
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог