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"。
