但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>
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