請問如何擷取出目前 IE 裡面被按右鍵位置上的超連結 |
答題得分者是:axsoft
|
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
小弟目前已經可以控制執行中的 IE,也可以加入選項到 IE 的右鍵選單,並執行小弟所要執行的程式,但是如何才能取出目前 IE 裡面被按右鍵位置上的超連結呢?就好像安裝 FLASHGET 後,在 IE 的超連結上按右鍵他會將目前超連結的檔案下載下來。 FLASHGET 的作業流程 利用 VBSCRIPT 取出 目前的超連結,然後傳參數給他自己的 ACTIVEX 元件,再由 ACTIVEX 元件呼叫並傳參數給執行檔。 小弟目前的作法 利用 COM 機制與目前的瀏覽器溝通,在 REGEDIT 上加入 IE 右鍵選單,和 FLASHGET 的作法不同,所以不知道是不是有另外一條路可以達到相同的功能呢 .... 這個程式越來越有趣了
|
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
目前看到的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 發送簡訊給我 |
|
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
關於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
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |