Изменить порядок контекстного меню IE - PullRequest
1 голос
/ 12 августа 2010

Мы разработали аддон Internet Explorer с использованием BHO и C #. Мы также добавили несколько действий контекстного меню (для IE, использующего аддон). Мы использовали записи реестра в HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ MenuExt \, чтобы добавить записи контекстного меню. Есть ли способ заказать входы? Или добавить разделитель? Или вложенное меню? На данный момент все они упорядочены в алфавитном порядке. Большое спасибо!

1 Ответ

1 голос
/ 19 апреля 2011

Насколько я могу судить, нет, все еще нет хорошего способа выполнить эту, казалось бы, простую задачу.

Для будущих читателей есть два метода (один из которых упоминает OP), которые вы можете рассмотреть, чтобы добавить пункты контекстного меню.

Метод регистрации

К сожалению, в Internet Explorer нет способа создать "расширенные" меню с использованием метода реестра . Доступна простая «контекстная» фильтрация, но не более того. Чтобы подвести итог этого метода, описанного в ссылке, сначала добавьте новый подраздел по адресу:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text>

<MenuText> - это текст, который отображается в контекстном меню в Internet Explorer. Использование & для клавиш ускорения работает как положено.

Установите для значения (Default) путь к файлу script , который нужно выполнить. Это может быть Javsascript, VB Script и т. Д. Если вы создаете BHO, было бы разумно упаковать его вместе с вашей DLL / EXE; получить доступ к нему с помощью res://. Например, в моей системе есть запись с именем E&xport to Microsoft Excel со значением:

res://C:\PROGRA~2\MICROS~1\Office12\EXCEL.EXE/3000

Метод IDocHostUIHandler

Этот метод эффективно заменяет все контекстное меню IE на то, которое BHO генерирует программно. В то время как чрезвычайно гибкий, это очень обескураженный . Если более чем один BHO пытается это сделать, результаты могут быть катастрофическими. Я нашел работающий пример этого метода в учебнике CodeProject по блокировщику всплывающих окон , но не пробовал сам по указанным причинам.

Дополнительная информация:

Я активно работаю над проектом, который включает в себя многие из этих компонентов. Я постараюсь постоянно обновлять этот пост, если найду какие-либо простые решения.

...