在網(wǎng)絡(luò)上共享照片,常需要復(fù)制上傳到某站點(diǎn)的照片的鏈接地址,部分瀏覽器提供了比較快捷的右鍵菜單來(lái)復(fù)制該地址,如Maxthon、Firefox等
但I(xiàn)E以及與IE共用右鍵菜單的MyIE、Sogou等瀏覽器均沒(méi)有復(fù)制圖像鏈接地址的快捷菜單,通常只有選擇圖片的屬性再在屬性對(duì)話(huà)框中復(fù)制圖片地址,很麻煩!
下面我們給IE添加一個(gè)“復(fù)制圖像地址”的右鍵菜單,步驟如下:
VB新建一個(gè)ActiveX Dll工程,工程名:NetCopyURL,將默認(rèn)生成的類(lèi)名改為clsCopyURL
在clsCopyURL.cls中添加如下代碼:
Public Sub CopyImageURL(URL As String)
Clipboard.Clear
Clipboard.SetText URL
End Sub
執(zhí)行File->Make NetCopyURL.dll生成動(dòng)態(tài)鏈接庫(kù)文件NetCopyURL.dll
拷貝NetCopyURL.dll到C:\Windows\System32文件夾
運(yùn)行開(kāi)始->所有程序->附件->命令提示符,輸入如下命令注冊(cè)dll:Regsvr32 C:\Windows\System32\NetCopyURL.dll
打開(kāi)記事本,敲入以下內(nèi)容,并存儲(chǔ)到C:\Program Files\CopyImageUrl\CopyUrl.htm。這是右鍵菜單要執(zhí)行的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>
最后在注冊(cè)表中給IE添加一個(gè)右鍵菜單:在任何位置新建一個(gè)reg文件,如AddMenu.reg,敲入如下內(nèi)容:
代碼如下:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\復(fù)制圖像地址(&X)]
@="C:\\Program Files\\CopyImageUrl\\CopyUrl.htm"
"Contexts"=dword:0000002
保存后雙擊AddMenu.reg文件導(dǎo)入注冊(cè)表項(xiàng),即完成右鍵菜單的添加。
第7步中寫(xiě)入注冊(cè)表的Contexts的值代表右鍵點(diǎn)擊IE中什么對(duì)象時(shí)出現(xiàn)設(shè)置的右鍵菜單,具體含義如下(可組合):
0x01 缺省
0x02 圖片
0x04 控件
0x08 表單域
0x10 選擇文本
0x20 超鏈接
如:
Contexts=0x000002,表示右鍵點(diǎn)擊IE中的圖片時(shí)出現(xiàn)設(shè)置的右鍵菜單
Contexts=0x000022,表示右鍵點(diǎn)擊IE中的圖片或超鏈接時(shí)出現(xiàn)設(shè)置的右鍵菜單
ok了,重新打開(kāi)IE,打開(kāi)一個(gè)有圖片的網(wǎng)頁(yè),在圖片上右鍵單擊鼠標(biāo),此時(shí)菜單中出現(xiàn)了“復(fù)制圖像地址(&X)”的菜單項(xiàng),選擇該菜單命令,圖片的鏈接地址就被復(fù)制了。
將CopyUrl.htm的內(nèi)容改為以下代碼,可省略前5個(gè)步驟。(即不需要再做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>
制作了一個(gè)安裝文件,下載解壓后,右鍵單擊CopyImageUrl.inf,選擇“安裝”即可。打開(kāi)一個(gè)有圖片的網(wǎng)頁(yè),在圖片上右鍵單擊鼠標(biāo),此時(shí)菜單中出現(xiàn)了“復(fù)制圖像地址(&X)”的菜單項(xiàng),選擇該菜單命令,圖片的鏈接地址就被復(fù)制了。安裝文件下載地址: