IE里的探索之向标准上下文相关菜单里添加条目
(作者:青苹果工作室编译 2001年02月08日 13:28)
本文描述在Microsoft Internet Explorer中执行URL指定的脚本时,如何向它的标准上下文相关菜单中添加菜单项。
如果你想向 Internet Explorer 的标准上下文相关菜单中添加菜单项,那么你应该熟悉注册表以及上下文相关菜单。有关上下文相关菜单的详细内容,可以参阅 SDK 中关于 Windows Shell API 的文档。 这里讨论的实现方式对 Internet Explorer 4.0 以上版本有效,Internet Explorer的早期版本不支持这个功能。
实现步骤
按以下步骤在 Internet Explorer 的标准上下文相关菜单中添加菜单项:
1. 在指定位置:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
以你希望在上下文相关菜单中显示的文本创建新键。
结果类似于:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text>
以你希望在上下文相关菜单中显示的文本替换<Menu Text>。键名中可以包含字符 (&), 它后面的字符将被加上下划线,并作为快捷键。
2. 把键值设置为指向一个网页的 URL,该页应包含你希望菜单项执行的脚本。此脚本能从对象 external 的属性 menuArgument 中获得上级 window 对象和执行此菜单项的屏幕。
3. 可选。在以下位置:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text>
创建一个二进制值,Context。
结果类似于:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text>\Contexts
设置 Contexts 的值以指明在标准的上下文相关菜单中,你的菜单项应该出现在哪些上下文里,这里我们使用由以下值按逻辑或运算所组成的掩码:
上下文 = 值
默认 = 0x1
图形 = 0x2
控件 = 0x4
表格 = 0x8
选中的文本 = 0x10
锚 = 0x20
例如,如果你希望在默认的上下文相关菜单里,和在上下文是选中的文本时,你的菜单项都出现,把 Context 的值设置为 0x11。
4. 可选。在以下位置:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text>
创建一个 Dword 值,Flags。
结果类似于:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text>\Flags
将 Flags 的值设置为 0x1 会使脚本的运行方式就和通过方法 showModalDialog 调用它时一样。和方法 showModalDialog 不同,脚本可以通过对象 external 的属性 menuArgument 访问上级 window 对象。
通过以“路径,resource_id”格式所指定的资源的路径和引用标志,我们可以引用保存在资源中的字符串。例如,如果你想引用 Example.dll 中的字符串资源 123,可以使用 "Example.dll, 123"。