- 时间:2021-01-26 09:53 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:开发 Internet Explorer 右键功能表(ContextMenu)
参考 MSDN Library【Adding Entries to the Standard Context Menu】开发 ContextMenu
1. IE 额外的 ContextMenu 是透过註册机码 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt 来建立
2. 所以只要在该位置下新增一个 Key 值,例如:新增【Make 0rz】则 IE 中按下右键就会出现相同名称的功能
[img]http://files.jb51.net/file_images/article/201307/201307032238312.png[/img]
[img]http://files.jb51.net/file_images/article/201307/201307032238313.png[/img]
3. 如果我们想要在该功能上可以使用快捷键,就如同开发 Windows Form 一样,只要在英文名称前加上 & 符号即可。
例如:我们把 Key 值从【Make 0rz】改為【&Make 0rz】,则当 ContextMenu 出现按下 M 就是执行该项功能
4. 在该 Key 值底下,有一个重要键值是 Contexts,主要的功能是定义 ContextMenu 出现的时机
[img]http://files.jb51.net/file_images/article/201307/201307032238314.png[/img]
包含:Default(预设载入)、Images(在图片上)、Control(任一控制项上)、Tables(在表格格上)、Text selection(纯文字反白选择时)、Anchor(在连结上)
如果 ContextMenu 要包含两种以上的出现时机,则将 value 自行做 logic or 计算再带入即可
例如:在本范例中,我们可以新增一个 DWORD 型态,名称 Contexts、值為 23 的键值。则表示该 ContextMenu 【预设载入】、【在连结上】、【在图片上】按下右键,就会出现【Make 0rz】的功能。
5. 另外还有 (Default) 这个键值,该键值填入的内容就是使用者执行 ContextMenu 功能时交给谁来处理,可能是 .html、.exe、.dll…. 等等。
例如本范例中,我想要呼叫 javascript 来执行功能,所以就填入【file://C:\Program Files\Make0rz.js】
[img]http://files.jb51.net/file_images/article/201307/201307032238315.png[/img]
6. 這樣大致上,就算是完成註冊機碼的部份。我們透過製作 .reg 檔案方便讓使用者來進行安裝,以下是本範例 RegMake0rz.reg 檔案:
[url=http://xiazai.jb51.net/201307/yuanma/Make0rz.zip]点此下载[/url],压缩档案包含:RegMake0rz.reg 註册机码安装档、Make0rz.js 功能执行档、DelMake0rz.reg 註册机码反安装档
安装:执行 RegMake0rz.reg,自行将 Make0rz.js 放置於 C:\Program Files 目录下
反安装:执行 DelMake0rz.reg,自行将 C:\Program Files\Make0rz.js 档案删除