我正在尝试将一个新条目添加到Internet Explorer的右键上下文菜单中。我了解到可以通过创建包含JavaScript的HTML文件,然后从注册表中的某个位置链接到它来实现此操作。我还了解到您也可以将HTML添加到资源文件中并将其编译为DLL(请参见Microsoft KB:向标准上下文菜单添加条目)。这就是我开始遇到问题的地方。
以下是我迄今为止所做的一些背景信息:
1. 在VS 2005中创建了一个名为“IETest”的Visual C++类库项目,位于“c:\IETest”中。 2. 将我的“C:\test.htm”文件导入默认的“app.rc”资源文件中。我已将ID更改为“TEST”。 3. 以调试模式编译DLL。 4. 修改注册表条目。
以下是我迄今为止所做的一些背景信息:
- 我在文件
C:\test.htm
中有以下JavaScript:
<script type="text/javascript">
alert('Hello, world!');
</script>
- 我在注册表的以下位置添加了一个新的
REG_SZ
值'c:\test.htm'
:
如果我现在重新启动IE,我的新菜单项将出现在上下文菜单中。如果我选择我的新菜单项,我的消息框警报将如预期般出现。到目前为止一切顺利。然而,如果脚本在DLL中,似乎无法访问该脚本。以下是我所采取的步骤:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
1. 在VS 2005中创建了一个名为“IETest”的Visual C++类库项目,位于“c:\IETest”中。 2. 将我的“C:\test.htm”文件导入默认的“app.rc”资源文件中。我已将ID更改为“TEST”。 3. 以调试模式编译DLL。 4. 修改注册表条目。
如果我现在重新启动IE并再试一次,当我右键单击并选择我的新上下文菜单条目时,消息框不会出现。我还尝试了没有任何运气的DLL发布版本,并尝试将最后一个正斜杠替换为逗号,并更改路径中的单反斜杠为双反斜杠。res://C:\IETest\debug\IETest.dll/TEST
我只能推测在创建DLL时做错了什么。 有人可以指点我正确的方向吗? 有没有办法检查编译后的DLL以检查资源和相关ID?
谢谢。