Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Контекстное меню


Автор: max_crt 20.7.2003, 23:35
Подскажите, пожайлуста, возможно ли средствами С++ присвоить контекстному меню определенного типа файлов(.zip, .exe, и.т.п.) дополнительный пункт, т.е. чтобы при щелчке правой кнопкой мышки над файлом определенного типа появлялось меню с дополнительным пунктом и по щелчку на этот пункт запускалась определенная программа?

Автор: -Mikle- 21.7.2003, 07:46
Да, можно, на любом языке. Это делается изменениями в реестре в HKEY_CLASSES_ROOT. Я не помню точно как, но очень даже не сложно. Поищи на Яндексе, я когда искал находил на нем.

Автор: Mephisto 4.9.2003, 18:09
Попробуй спросить там http://forum.vingrad.ru/index.php?act=SF&f=1

Автор: Mephisto 4.9.2003, 18:44
ОЧень просто. При ромощи функций Win API читаешь значение по умолчанию из директории с названием расширения (HKEY_CLASSES_ROOT\.zip). Затем полученое значение (у меня это WinRAR.ZIP) запоминаем в String (допустим AddRegRAR$).

Затем:

1) в директорию "HKEY_CLASSES_ROOT\"+"AddRegRAR$"+"\shell" добавляешь новую директорию со своим названием (значение "по умолчанию" в ней будет высвечиватся в контекстном меню).

2) в директорию "HKEY_CLASSES_ROOT\"+"AddRegRAR$"+"\shell\"+"своё название" добавляешь новую директорию "Command". Значение "по умолчанию" в ней соответствует команде. (например Notepad.exe %1)

3) меняешь значение "по умолчанию" в директории "HKEY_CLASSES_ROOT\"+"AddRegRAR$"+"\shell" на "своё название".

Всё пока !!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)