IE浏览器增加“复制图像地址”的右键菜单的vbs代码
程序员文章站
2022-08-27 14:23:32
但ie以及与ie共用右键菜单的myie、sogou等浏览器均没有复制图像链接地址的快捷菜单,通常只有选择图片的属性再在属性对话框中复制图片地址,很麻烦!下面我们给ie添加一...
但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
下面我们给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
下一篇: vbs 百度小助手