当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > IE浏览器增加“复制图像地址”的右键菜单的vbs代码

VBScript
一个实现VBS倒计时的代码
用vbs实现将剪切板的unix格式的内容处理成pc格式的代码
用vb和vbs 破解flashxp的密码的代码
用VBS实现的批量gb2312转utf-8,支持拖动
用vbs实现的XP序列号替换器
VBS可以做什么的简单说明
用vbs实现cmd功能的代码
VBS基础编程教程 (第1篇)
VBS基础编程教程 (第3篇)
VBS基础编程教程 (第4篇)
VBS基础编程教程 (第5篇)
VBS基础编程教程 (第6篇)
利用vbscript的for命令实现定时关机
在桌面右下角出现温馨提示的vbs冒泡程序
利用VBS发送邮件 挑选速度快的肉鸡做VPN 的vbs代码
vbs教程 chm下载
用vbs实现的简单的服务器文件备份办法压缩文件名自动按日期命名
输入mdb数据库即可将打包的mdb文件解包
VBS编程教程第一部
vbs脚本 加密 几个小细节小结下

VBScript 中的 IE浏览器增加“复制图像地址”的右键菜单的vbs代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 319 ::
收藏到网摘: n/a

在网络上共享照片,常需要复制上传到某站点的照片的链接地址,部分浏览器提供了比较快捷的右键菜单来复制该地址,如Maxthon、Firefox等 但IE以及与IE共用右键菜单的MyIE、Sogou等浏览器均没有复制图像链接地址的快捷菜单,通常只有选择图片的属性再在属性对话框中复制图片地址,很麻烦!
下面我们给IE添加一个“复制图像地址”的右键菜单,步骤如下:
VB新建一个ActiveX Dll工程,工程名:NetCopyURL,将默认生成的类名改为clsCopyURL
在clsCopyURL.cls中添加如下代码:
Public Sub CopyImageURL(URL As String)
Clipboard.Clear
Clipboard.SetText URL
End Sub
执行File->Make NetCopyURL.dll生成动态链接库文件NetCopyURL.dll
拷贝NetCopyURL.dll到C:\Windows\System32文件夹
运行开始->所有程序->附件->命令提示符,输入如下命令注册dll:Regsvr32 C:\Windows\System32\NetCopyURL.dll
打开记事本,敲入以下内容,并存储到C:\Program Files\CopyImageUrl\CopyUrl.htm。这是右键菜单要执行的VBScript脚本。
复制代码 代码如下:

<script language="VBscript">
Sub OnContextMenu()
On Error Resume Next
set srcEvent = external.menuArguments.event
set EventElement = external.menuArguments.document.elementFromPoint(srcEvent.clientX, srcEvent.clientY)
set objNet=CreateObject("NetCopyURL.clsCopyURL")
objNet.CopyImageURL(EventElement.href)
end Sub
call OnContextMenu()
</script>

最后在注册表中给IE添加一个右键菜单:在任何位置新建一个reg文件,如AddMenu.reg,敲入如下内容:
复制代码 代码如下:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\复制图像地址(&X)]
@="C:\\Program Files\\CopyImageUrl\\CopyUrl.htm"
"Contexts"=dword:0000002

保存后双击AddMenu.reg文件导入注册表项,即完成右键菜单的添加。
第7步中写入注册表的Contexts的值代表右键点击IE中什么对象时出现设置的右键菜单,具体含义如下(可组合):
0x01 缺省
0x02 图片
0x04 控件
0x08 表单域
0x10 选择文本
0x20 超链接
如:
Contexts=0x000002,表示右键点击IE中的图片时出现设置的右键菜单
Contexts=0x000022,表示右键点击IE中的图片或超链接时出现设置的右键菜单
ok了,重新打开IE,打开一个有图片的网页,在图片上右键单击鼠标,此时菜单中出现了“复制图像地址(&X)”的菜单项,选择该菜单命令,图片的链接地址就被复制了。
将CopyUrl.htm的内容改为以下代码,可省略前5个步骤。(即不需要再做ActiveX DLL了)
<script language="VBscript">
Sub OnContextMenu()
set srcEvent = external.menuArguments.event
set EventElement = external.menuArguments.document.elementFromPoint(srcEvent.clientX, srcEvent.clientY)
set cpbObj = external.menuArguments.clipboardData
call cpbObj.setData("Text",EventElement.href)
end Sub
call OnContextMenu()
</script>
制作了一个安装文件,下载解压后,右键单击CopyImageUrl.inf,选择“安装”即可。打开一个有图片的网页,在图片上右键单击鼠标,此时菜单中出现了“复制图像地址(&X)”的菜单项,选择该菜单命令,图片的链接地址就被复制了。安装文件下载地址:
CopyImageUrl.zip