IE瀏覽器增加“復(fù)制圖像地址”的右鍵菜單的vbs代碼

字號:


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