VBScript 剪貼板抓取URL并在瀏覽器中打開
更新時間:2008年11月05日 00:39:58 作者:
VBScript如何從剪貼板中抓取一個URL然后在瀏覽器中打開該 Web 站點
您好,CL。這是很有趣的問題,或者我們應(yīng)當(dāng)說,這是兩個很有趣的問題。因為您實際上問了兩個問題。第一個問題很簡單:我可以使用腳本打開特定的 Web 站點嗎?您大概已經(jīng)知道答案了,我可以大聲地回答您,可以!下面是一個示例腳本,它將“腳本中心”的 URL 存儲在一個名為 strURL 的變量中。然后,此腳本會創(chuàng)建 WSH Shell 對象的一個實例,并使用 Run 方法來打開默認(rèn)的 Web 瀏覽器并導(dǎo)航到指定的 URL:
strURL = “http://www.microsoft.com/technet/scriptcenter/default.mspx”
Set objShell = CreateObject("Wscript.Shell")
objShell.Run(strURL)
第二個問題有點棘手:我可以使用腳本從剪貼板中抓取信息嗎?這個問題的答案也是“可以”,盡管您必須通過后門程序到達剪貼板。
WSH 和 VBScript 都不能與剪貼板進行交互:它們都不允許您將數(shù)據(jù)復(fù)制到剪貼板或從剪貼板粘貼數(shù)據(jù)。另一方面,Internet Explorer 卻可以和剪貼板進行交互。(瞧,Internet Explorer 真是無所不能?。。┧?,就讓 IE 來為我們做這項工作吧。如果您想從剪貼板抓取數(shù)據(jù),您可以使用與以下代碼類似的代碼:
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
strURL = objIE.document.parentwindow.clipboardData.GetData("text")
objIE.Quit
Wscript.Echo strURL
這里,我們所做的事情就是:創(chuàng)建 Internet Explorer 的一個實例,并在一個空白頁中將其打開。請注意,您實際上并不能看到此 IE 實例,因為我們并沒有將 Visible 屬性設(shè)置為 TRUE。所有的事情都是在后臺發(fā)生的。
然后,我們使用 clipboardData.GetData 方法來獲取放置在剪貼板上的文本并將其存儲在變量 strURL 中;這也就是下面這行代碼所做的工作:
strURL = objIE.document.parentwindow.clipboardData.GetData("text")
我們關(guān)閉此 IE 實例 (objIE.Quit),然后回顯我們從剪貼板檢索出來的值。
請做以下嘗試:將一些文本復(fù)制到剪貼板,然后運行該腳本。您應(yīng)當(dāng)會得到一個消息框,其中包含您剛才復(fù)制到剪貼板的文本。
現(xiàn)在就剩下一件事情要做:將這兩半段腳本合在一起構(gòu)成一個完整的腳本。下面這個腳本就可以從剪貼板中抓取一個 URL 然后在默認(rèn)的 Web 瀏覽器中打開該 Web 站點:
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
strURL = objIE.document.parentwindow.clipboardData.GetData("text")
objIE.Quit
Set objShell = CreateObject("Wscript.Shell")
objShell.Run(strURL)
這個腳本還不賴吧。它還有一個優(yōu)點 — 它并不是只能用來打開 Web 站點。假定您的剪貼板上有一個文件路徑,例如“C:\Scripts\ScriptLog.txt”。運行此腳本,則該文件將在記事本(或任何您設(shè)置為與 .txt 文件相關(guān)聯(lián)的應(yīng)用程序)中打開。如果您的剪貼板上有一個 .doc 文件的路徑,則此腳本將在 Microsoft Word 中打開該文檔。它實際上是一個通用的文件打開腳本,而不僅僅是一個只能用于 Web 站點的打開腳本。
strURL = “http://www.microsoft.com/technet/scriptcenter/default.mspx”
Set objShell = CreateObject("Wscript.Shell")
objShell.Run(strURL)
第二個問題有點棘手:我可以使用腳本從剪貼板中抓取信息嗎?這個問題的答案也是“可以”,盡管您必須通過后門程序到達剪貼板。
WSH 和 VBScript 都不能與剪貼板進行交互:它們都不允許您將數(shù)據(jù)復(fù)制到剪貼板或從剪貼板粘貼數(shù)據(jù)。另一方面,Internet Explorer 卻可以和剪貼板進行交互。(瞧,Internet Explorer 真是無所不能?。。┧?,就讓 IE 來為我們做這項工作吧。如果您想從剪貼板抓取數(shù)據(jù),您可以使用與以下代碼類似的代碼:
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
strURL = objIE.document.parentwindow.clipboardData.GetData("text")
objIE.Quit
Wscript.Echo strURL
這里,我們所做的事情就是:創(chuàng)建 Internet Explorer 的一個實例,并在一個空白頁中將其打開。請注意,您實際上并不能看到此 IE 實例,因為我們并沒有將 Visible 屬性設(shè)置為 TRUE。所有的事情都是在后臺發(fā)生的。
然后,我們使用 clipboardData.GetData 方法來獲取放置在剪貼板上的文本并將其存儲在變量 strURL 中;這也就是下面這行代碼所做的工作:
strURL = objIE.document.parentwindow.clipboardData.GetData("text")
我們關(guān)閉此 IE 實例 (objIE.Quit),然后回顯我們從剪貼板檢索出來的值。
請做以下嘗試:將一些文本復(fù)制到剪貼板,然后運行該腳本。您應(yīng)當(dāng)會得到一個消息框,其中包含您剛才復(fù)制到剪貼板的文本。
現(xiàn)在就剩下一件事情要做:將這兩半段腳本合在一起構(gòu)成一個完整的腳本。下面這個腳本就可以從剪貼板中抓取一個 URL 然后在默認(rèn)的 Web 瀏覽器中打開該 Web 站點:
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
strURL = objIE.document.parentwindow.clipboardData.GetData("text")
objIE.Quit
Set objShell = CreateObject("Wscript.Shell")
objShell.Run(strURL)
這個腳本還不賴吧。它還有一個優(yōu)點 — 它并不是只能用來打開 Web 站點。假定您的剪貼板上有一個文件路徑,例如“C:\Scripts\ScriptLog.txt”。運行此腳本,則該文件將在記事本(或任何您設(shè)置為與 .txt 文件相關(guān)聯(lián)的應(yīng)用程序)中打開。如果您的剪貼板上有一個 .doc 文件的路徑,則此腳本將在 Microsoft Word 中打開該文檔。它實際上是一個通用的文件打開腳本,而不僅僅是一個只能用于 Web 站點的打開腳本。
相關(guān)文章
文件夾定時自動備份 AutoBackUpFolder.vbs
定時自動備份文件夾到一個以時間命名的新目錄,設(shè)置好后加到啟動項里,只要一啟動機器程序就會自動運行,占系統(tǒng)資源可以不計。2009-07-07
基于邏輯運算的簡單權(quán)限系統(tǒng)(原理,設(shè)計,實現(xiàn)) VBS 版
基于邏輯運算的簡單權(quán)限系統(tǒng)(原理,設(shè)計,實現(xiàn)) VBS 版...2007-03-03
用vbs實現(xiàn)的利用ADSL撥號變ip刷投票的代碼
朋友讓我?guī)退⑼镀保铱戳丝?,那個投票系統(tǒng)只是限制ip,考慮的不是很全面,可以刷。2010-03-03
vbs實現(xiàn)恢復(fù)暫停的自動啟動服務(wù)的腳本
有時候我們需要把自啟動的服務(wù)停掉,方便我們處理事務(wù),但我們?nèi)绻淮瓮5舻淖詥臃?wù)比較多,如何一次性啟動他們呢2008-06-06

