我试图将新条目添加到Internet Explorer的右键单击上下文菜单中。我知道这可以通过创建一个包含JavaScript的HTML文件,然后从注册表中的一个位置链接到这个文件来实现。我还读到,您还可以将HTML添加到资源文件并将其编译到DLL中(请参阅Microsoft KB:Adding Entries to the Standard Context Menu)。这是我开始遇到问题的地方。将项目添加到Internet Explorer的右键单击上下文菜单
以下是我迄今为止所做的一些背景介绍。
- 我有一个文件
C:\test.htm
在以下JavaScript:
<script type="text/javascript"> alert('Hello, world!'); </script>
- 我已在以下位置在注册表中添加了一个新的
REG_SZ
值'c:\test.htm'
:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
如果我现在重新启动IE,我的新菜单项出现在上下文菜单中。如果我选择我的新菜单项,我的消息框警报将按预期显示。到现在为止还挺好。但是,我似乎无法访问该脚本,如果它在一个DLL中。下面是我所采取的步骤:进口我C:\test.htm
到默认的文件app.rc
资源文件
- 创建于2005年VS一个新的Visual C++类库项目名为
'IETest'
在c:\IETest
- 。我已经改变了
ID
是TEST
- 编译
- 改变了注册表项,在调试模式下DLL阅读
res://C:\IETest\debug\IETest.dll/TEST
如果我现在重新启动IE浏览器,然后再试一次,消息当我右键单击并选择我的新的上下文菜单项时,框不会出现。我也尝试了DLL的发布版,没有任何运气,并试图用逗号代替最后一个正斜杠,并将双反斜杠的路径更改为双斜杠。
我只能假设我在创建我的DLL时做了一些错误。任何人都可以将我指向正确的方向吗?有什么办法可以检查编译的DLL来检查资源和关联的ID吗?
谢谢。
当你说“提醒”你真的是“上下文菜单项”? – Eddie 2009-04-24 16:35:57
如果我在第一个示例中使用JavaScript,当选择我的新的上下文菜单项时,会出现'alert'消息框。我遇到的问题是当我尝试将这个JavaScript添加到一个新的DLL。 我将更新条目以使版权清晰一些。 – 2009-04-24 18:45:39