線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2211
推到 Plurk!
推到 Facebook!

請問如何擷取出目前 IE 裡面被按右鍵位置上的超連結

答題得分者是:axsoft
China Join
中階會員


發表:81
回覆:242
積分:89
註冊:2003-03-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-20 01:10:31 IP:61.216.xxx.xxx 未訂閱
小弟目前已經可以控制執行中的 IE,也可以加入選項到 IE 的右鍵選單,並執行小弟所要執行的程式,但是如何才能取出目前 IE 裡面被按右鍵位置上的超連結呢?就好像安裝 FLASHGET 後,在 IE 的超連結上按右鍵他會將目前超連結的檔案下載下來。    FLASHGET 的作業流程 利用 VBSCRIPT 取出 目前的超連結,然後傳參數給他自己的 ACTIVEX 元件,再由 ACTIVEX 元件呼叫並傳參數給執行檔。    小弟目前的作法 利用 COM 機制與目前的瀏覽器溝通,在 REGEDIT 上加入 IE 右鍵選單,和 FLASHGET 的作法不同,所以不知道是不是有另外一條路可以達到相同的功能呢 ....     這個程式越來越有趣了 
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-06 16:52:09 IP:61.218.xxx.xxx 未訂閱
目前看到的ReGet/Net Transport也是用VBscript做手腳    1.ReGet的設定: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Download by ReGet &Pro\中 預設值 REG_SZ = C:\Program Files\Common Files\ReGet Shared\CC_Link.htm Contexts REG_DWORD=0x00000022(34)    Contexts的值則是指定右鍵該選項何時要出現 預設 0x1  圖片 0x2  物件 0x4  表單域 0x8  選擇文本 0x10  連結 0x20    CCLink.htm的內容如下:
< script language="VBScript" >
'RG_All Version 1.8.506 Copyright (c) 1998-2001 by Vladimir Romanov, vromanov@reget.com            On Error Resume Next
        set CCDlAll = CreateObject( "ClickCatcher.DownloadAllFromContextMenu" )
        if err<>0 then
                Alert("ClickCatcher not properly installed on this PC!")'+ vbCrLf+"Please install it in system using `ReGet.exe /Setup`")
        else
                set links = external.menuArguments.document.links
                for i = 0 to links.length-1
                        'params(i*2+1)=links(i).href
                        'params(i*2+2)=links(i).innerText        
                        set CCDl = CreateObject( "ClickCatcher.DownloadFromContextMenu" )
                        CCDl.Url = links(i).href
                        CCDl.Info = links(i).innerText
                        CCDl.Referer = external.menuArguments.
                        CCDlAll.AddDownloadToList CCDl
                next 
                CCDlAll.UrlList
        end if
< /script >
2.連電子圖書館(網文補快)也是這麼做的 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\使用電子圖書館儲存目前網頁... 預設值 REG_SZ = C:\Program Files\WebCatcher\script\save.htm save.htm內容如下:
< script language="VBScript" >    Sub OnContextMenu()
        On Error Resume Next
        set Catcher=CreateObject("WebCatcherAPI.Catcher")
        if err<>0 then
                    Alert("WebCatcher haven't installed in your computer!")
          else
                    call Catcher.All(external.menuArguments.document)
          end if
end sub    Call OnContextMenu()
< /script >
好像目前看到的方法只有用vbscript去call com了,沒有其他方法了! Delphi.Ktop風紀小隊---[ 發問前請先找找舊文章 ]--- 發表人 - axsoft 於 2003/05/06 16:53:39
China Join
中階會員


發表:81
回覆:242
積分:89
註冊:2003-03-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-06 18:18:12 IP:218.170.xxx.xxx 未訂閱
感謝 axsoft 版主熱心的幫忙,小弟之前嘗試另一種作法,就是去攔截 IE 的 FileDownload 的事件,可是卡在無法得知要被下檔案的網址,如果可以取得下載檔案的網址,應該也可以達到小弟要的功能,不知道行不行,如果試出來會把他貼上來,再次謝謝您,費心了!
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-20 14:03:44 IP:61.218.xxx.xxx 未訂閱
關於NetAnts的瀏覽器整合的原理             資料來源:老侃第一站 http://asp.6to23.com/nowcan/asp/artread.asp?id=5    大家都知道NetAnts能夠直接捕獲IE點擊事件進行文件下載,這其中的原理很簡單,它使用了IE中的「Browser Helper Objects」,原理是這樣的:     首先,NetAnts註冊了一個COM組件AntAPI.dll,該組件用來處理IE點擊事件;     當用戶設置了「與瀏覽器點擊整合」時,NetAnts將COM組件的類ID加入註冊表中「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\」鍵下,即得到: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\{57E91B41-F40A-11D1-B792-444553540000}     當用戶取消了瀏覽器點擊整合時,NetAnts則刪除在「Browser Helper Objects"下的註冊項。     總結,NetAnts的方法有一定的局限性,當用戶將"Internet選項"中的"高級"設置下的「瀏覽」項中的「啟用第三方瀏覽器擴展」選項取消時,NetAnts將不能監視到IE事件。     相關網頁:     IE裡的探索之定制瀏覽器好助手     http://www.ccidnet.com/tech/web/2001/02/08/58_1640.html     (Browser Helper Objects: The Browser the Way You Want It)     http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebgen/html/bho.asp    HAVE A NICE DAY FOR YOU 發表人 - axsoft 於 2003/06/20 15:48:44
系統時間:2024-05-05 19:20:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!