KLASS
Moderator | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору popkov Цитата: И ещё одну странность заметил: в контекстном меню текстового файла у меня присутствует пункт "Изменить". Однако, непонятно, какому ключу реестра он соответствует | Это, так называемые, канонические действия (Открыть, Изменить, Найти, Свойства...), они встроены в систему. Команда Изменить для TXT нашлась тута HKEY_CLASSES_ROOT\SystemFileAssociations\text\shell\edit Цитата: Так ведь вопрос именно в том и заключается, что пунктов "Печать в..." и "Печать..." в меню нет вообще, хотя в реестре соответствующие пункты есть. | По умолчанию пункт "Печать" в контекстном меню TXT файлов есть, а вот "printto" это специальные (невидимые в контекстном меню) канонические действия, в данном случае, для перетаскивания файлов на значки принтеров используемых не только по умолчанию. Если удалить действие, при переносе на значек принтера, не используемого по умолчанию, будет выдано сообщение: Цитата: Пpoгpaммa пoзвoляeт выпoлнять пeчaть тoлькo нa пpинтepe, иcпoльзyeмoм пo yмoлчaнию. Cдeлaть этoт пpинтep иcпoльзyeмым пo yмoлчaнию? (Пpи oтpицaтeльнoм oтвeтe дoкyмeнт нaпeчaтaн нe бyдeт.) | Для созданий пункта контекстного меню, у конкретного типа файла, можно пользоваться этим hh.exe folderop.chm::/win_fcab_reg_filetype_modify.htm Когда добавляешь свои команды в меню, их удобнее делать скрытыми, чтобы появлялись они только при нажатии клавиши Shift. К примеру, чтобы открывать TXT в Excel Цитата: REGEDIT4 [HKEY_CLASSES_ROOT\txtfile\shell\verb] @="Excel" "extended"="" [HKEY_CLASSES_ROOT\txtfile\shell\verb\command] @="\"C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE\" \"%1\"" | Так же можно скрывать команды установленные некоторыми программами. К примеру, в настройках WinHex есть создание пункта для всех типов файла, но на деле им пользуешься не часто, разумно его сделать видимым только при нажатии Shift Цитата: REGEDIT4 [HKEY_CLASSES_ROOT\*\shell\verb] @="Открыть в WinHex" "extended"="" [HKEY_CLASSES_ROOT\*\shell\verb\command] @="\"C:\\Program Files\\WinHex\\winhex.exe\" \"%1\"" | Если оба примера использовать, то на TXT файлах не будет пункта "Открыть в WinHex" потому, что раздел HKEY_CLASSES_ROOT\txtfile, в данном случае, имеет преимущество перед HKEY_CLASSES_ROOT\* Самый простой способ организовать вложенные контекстные меню, это использовать папку SendTo, она для этого и предназначена. Удаляешь отсюда не нужные пункты HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shellex\ContextMenuHandlers а в SendTo создаешь папки и по ним раскидываешь ярлыки к программам и тогда любой файл можно отсылать в любую программу. Пока в SendTo не зашел, никаких дополнительных пунктов не видно, меню работает быстрее. Некоторые программы (WinRar) сами создают вложенные меню. Можно из верхней части контекстного меню перебросить пункты ближе к пункту Отправить, переместив разделы отсюда HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shellex\ContextMenuHandlers сюда HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers Добавлено: Пункт "Открыть в WinHex", собака, в проводнике и TC работает по Shift, а в PowerDesk всегда висит Подтусовать пункты в контекстном меню, которые тута HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers можно используя разные знаки и цифры, к примеру, антивири сгреб вместе в таком виде Цитата: Проверить на наличие вирусов (SAV) Проверить DrWeb Kaspersky Anti-Virus Scaner | поставив циферки в начале имени раздела ...ContextMenuHandlers\1LDVPMenu ...ContextMenuHandlers\2DrWeb ...\ContextMenuHandlers\2Kaspersky Anti-Virus WinRar и 7.zip тоже вместе, добавил цифру 3 в начале имени разделов. А в самих программах выставил "Kacкaднoe кoнтeкcтнoe мeню". Пункт от FileNote поставил над антивирусниками, добавив 1 в имени Думаю можно еще как-нить поизгаляться | Всего записей: 11452 | Зарегистр. 12-10-2001 | Отправлено: 14:50 10-04-2005 | Исправлено: KLASS, 19:13 10-04-2005 |
|