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

VBScript
用vbs检索在运行对话框中键入的一系列命令的代码
编写可以打开文本文件并打乱在该文件中所找到的单词顺序的vbs脚本
在 HTA 中暂停脚本的方法
运行脚本之前,如何确定计算机上的默认脚本宿主的代码
用vbs实现删除名称中有撇号的文件夹
用vbs将输出内容写到屏幕以覆盖当前屏幕上的内容的方法
用vbs实现配置无人登录计算机时使用的屏幕保护程序
用vbs更改 Internet Explorer 的标题栏
用vbs读取文本文件的最后一行
用vbs实现重新启动 Internet Explorer
用vbs实现禁用服务
用vbs确定计算机是否有 USB 2.0 端口的代码
用vbs列出注册表中 Run 项中的所有项目
用vbs将名称截断以使其最多包含 16 个字符的代码
用vbs将本地文件替换为在文件服务器上找到的新版本
用vbs确定脚本正在哪一个帐户下运行
用vbs确定可移动驱动器的连接时间
用vbs记录屏幕保护程序的开始时间和结束时间
用vbs计算某个词在日志文件中的出现次数
vbs病毒的简单例子源代码解析

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 324 ::
收藏到网摘: 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