Я пытаюсь добавить новую запись в контекстное меню контекстного меню Internet Explorer. Я понимаю, что этого можно добиться, создав HTML-файл, содержащий JavaScript, а затем связав его с местоположением в реестре. Я также прочитал, что вы также можете добавить HTML в файл ресурсов и скомпилировать его в DLL (см. Microsoft KB: Adding Entries to the Standard Context Menu). Здесь я начал сталкиваться с проблемами.Добавление элемента в контекстное меню контекстного меню Internet Explorer
Вот немного фона о том, что я сделал до сих пор.
- У меня есть следующие JavaScript в файле
C:\test.htm
:
<script type="text/javascript"> alert('Hello, world!'); </script>
- я добавил новое значение
'c:\test.htm'
REG_SZ
в реестре по следующему адресу:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
Если я сейчас перезагрузите IE, новый пункт меню появится в контекстном меню. Если я выберу свой новый пункт меню, появится сообщение о появлении сообщения, как и ожидалось. Все идет нормально. Тем не менее, я не могу получить доступ к скрипту, если он находится в DLL. Вот шаги, которые я взял:
- создал новый визуальный проект библиотеки классов C++ в VS 2005 с именем
'IETest'
вc:\IETest
- Импортные мой
C:\test.htm
файл в файл ресурсов по умолчаниюapp.rc
. Я изменилID
бытьTEST
- составившего DLL в режиме отладки
- Измененная запись реестра для чтения
res://C:\IETest\debug\IETest.dll/TEST
Если я теперь перезапустите IE и повторите попытку, сообщение поле не появляется, когда я нажимаю правой кнопкой мыши и выбираю новую запись в контекстном меню. Я также попробовал сборку DLL без релиза, а также попытался заменить последнюю косую черту запятой и изменить путь однократной обратной косой черты на двойные косые черты.
Я могу только предположить, что я сделал что-то неправильно при создании моей DLL. Может кто-то указать мне верное направление? Есть ли способ проверить сборку DLL для изучения ресурсов и связанных идентификаторов?
Спасибо.
Когда вы говорите, «оповещать» вы на самом деле означает «контекстное меню» запись? – Eddie
Если я использую javascript в своем первом примере, появляется окно сообщения «предупреждение», когда я правильно выбираю новый пункт контекстного меню. Проблема, с которой я сталкиваюсь, - это когда я пытаюсь добавить этот javascript в новую DLL. Я обновляю запись, чтобы сделать отчет немного понятнее. –