用vbs 實(shí)現(xiàn)從剪貼板中抓取一個(gè) URL 然后在瀏覽器中打開(kāi)該 Web 站點(diǎn)
更新時(shí)間:2007年04月02日 00:00:00 作者:
問(wèn):
嗨,Scripting Guy!我如何從剪貼板中抓取一個(gè) URL 然后在瀏覽器中打開(kāi)該 Web 站點(diǎn)?
-- CL
答:
您好,CL。這是很有趣的問(wèn)題,或者我們應(yīng)當(dāng)說(shuō),這是兩個(gè)很有趣的問(wèn)題。因?yàn)槟鷮?shí)際上問(wèn)了兩個(gè)問(wèn)題。第一個(gè)問(wèn)題很簡(jiǎn)單:我可以使用腳本打開(kāi)特定的 Web 站點(diǎn)嗎?您大概已經(jīng)知道答案了,我可以大聲地回答您,可以!下面是一個(gè)示例腳本,它將“腳本中心”的 URL 存儲(chǔ)在一個(gè)名為 strURL 的變量中。然后,此腳本會(huì)創(chuàng)建 WSH Shell 對(duì)象的一個(gè)實(shí)例,并使用 Run 方法來(lái)打開(kāi)默認(rèn)的 Web 瀏覽器并導(dǎo)航到指定的 URL:
strURL = “http://www.microsoft.com/technet/scriptcenter/default.mspx”
Set objShell = CreateObject("Wscript.Shell")
objShell.Run(strURL)
第二個(gè)問(wèn)題有點(diǎn)棘手:我可以使用腳本從剪貼板中抓取信息嗎?這個(gè)問(wèn)題的答案也是“可以”,盡管您必須通過(guò)后門(mén)程序到達(dá)剪貼板。
WSH 和 VBScript 都不能與剪貼板進(jìn)行交互:它們都不允許您將數(shù)據(jù)復(fù)制到剪貼板或從剪貼板粘貼數(shù)據(jù)。另一方面,Internet Explorer 卻可以和剪貼板進(jìn)行交互。(瞧,Internet Explorer 真是無(wú)所不能?。。┧?,就讓 IE 來(lái)為我們做這項(xiàng)工作吧。如果您想從剪貼板抓取數(shù)據(jù),您可以使用與以下代碼類(lèi)似的代碼:
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 的一個(gè)實(shí)例,并在一個(gè)空白頁(yè)中將其打開(kāi)。請(qǐng)注意,您實(shí)際上并不能看到此 IE 實(shí)例,因?yàn)槲覀儾](méi)有將 Visible 屬性設(shè)置為 TRUE。所有的事情都是在后臺(tái)發(fā)生的。
然后,我們使用 clipboardData.GetData 方法來(lái)獲取放置在剪貼板上的文本并將其存儲(chǔ)在變量 strURL 中;這也就是下面這行代碼所做的工作:
strURL = objIE.document.parentwindow.clipboardData.GetData("text")
我們關(guān)閉此 IE 實(shí)例 (objIE.Quit),然后回顯我們從剪貼板檢索出來(lái)的值。
請(qǐng)做以下嘗試:將一些文本復(fù)制到剪貼板,然后運(yùn)行該腳本。您應(yīng)當(dāng)會(huì)得到一個(gè)消息框,其中包含您剛才復(fù)制到剪貼板的文本。
現(xiàn)在就剩下一件事情要做:將這兩半段腳本合在一起構(gòu)成一個(gè)完整的腳本。下面這個(gè)腳本就可以從剪貼板中抓取一個(gè) URL 然后在默認(rèn)的 Web 瀏覽器中打開(kāi)該 Web 站點(diǎn):
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)
這個(gè)腳本還不賴(lài)吧。它還有一個(gè)優(yōu)點(diǎn) — 它并不是只能用來(lái)打開(kāi) Web 站點(diǎn)。假定您的剪貼板上有一個(gè)文件路徑,例如“C:\Scripts\ScriptLog.txt”。運(yùn)行此腳本,則該文件將在記事本(或任何您設(shè)置為與 .txt 文件相關(guān)聯(lián)的應(yīng)用程序)中打開(kāi)。如果您的剪貼板上有一個(gè) .doc 文件的路徑,則此腳本將在 Microsoft Word 中打開(kāi)該文檔。它實(shí)際上是一個(gè)通用的文件打開(kāi)腳本,而不僅僅是一個(gè)只能用于 Web 站點(diǎn)的打開(kāi)腳本。
嗨,Scripting Guy!我如何從剪貼板中抓取一個(gè) URL 然后在瀏覽器中打開(kāi)該 Web 站點(diǎn)?
-- CL
答:
您好,CL。這是很有趣的問(wèn)題,或者我們應(yīng)當(dāng)說(shuō),這是兩個(gè)很有趣的問(wèn)題。因?yàn)槟鷮?shí)際上問(wèn)了兩個(gè)問(wèn)題。第一個(gè)問(wèn)題很簡(jiǎn)單:我可以使用腳本打開(kāi)特定的 Web 站點(diǎn)嗎?您大概已經(jīng)知道答案了,我可以大聲地回答您,可以!下面是一個(gè)示例腳本,它將“腳本中心”的 URL 存儲(chǔ)在一個(gè)名為 strURL 的變量中。然后,此腳本會(huì)創(chuàng)建 WSH Shell 對(duì)象的一個(gè)實(shí)例,并使用 Run 方法來(lái)打開(kāi)默認(rèn)的 Web 瀏覽器并導(dǎo)航到指定的 URL:
復(fù)制代碼 代碼如下:
strURL = “http://www.microsoft.com/technet/scriptcenter/default.mspx”
Set objShell = CreateObject("Wscript.Shell")
objShell.Run(strURL)
第二個(gè)問(wèn)題有點(diǎn)棘手:我可以使用腳本從剪貼板中抓取信息嗎?這個(gè)問(wèn)題的答案也是“可以”,盡管您必須通過(guò)后門(mén)程序到達(dá)剪貼板。
WSH 和 VBScript 都不能與剪貼板進(jìn)行交互:它們都不允許您將數(shù)據(jù)復(fù)制到剪貼板或從剪貼板粘貼數(shù)據(jù)。另一方面,Internet Explorer 卻可以和剪貼板進(jìn)行交互。(瞧,Internet Explorer 真是無(wú)所不能?。。┧?,就讓 IE 來(lái)為我們做這項(xiàng)工作吧。如果您想從剪貼板抓取數(shù)據(jù),您可以使用與以下代碼類(lèi)似的代碼:
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 的一個(gè)實(shí)例,并在一個(gè)空白頁(yè)中將其打開(kāi)。請(qǐng)注意,您實(shí)際上并不能看到此 IE 實(shí)例,因?yàn)槲覀儾](méi)有將 Visible 屬性設(shè)置為 TRUE。所有的事情都是在后臺(tái)發(fā)生的。
然后,我們使用 clipboardData.GetData 方法來(lái)獲取放置在剪貼板上的文本并將其存儲(chǔ)在變量 strURL 中;這也就是下面這行代碼所做的工作:
strURL = objIE.document.parentwindow.clipboardData.GetData("text")
我們關(guān)閉此 IE 實(shí)例 (objIE.Quit),然后回顯我們從剪貼板檢索出來(lái)的值。
請(qǐng)做以下嘗試:將一些文本復(fù)制到剪貼板,然后運(yùn)行該腳本。您應(yīng)當(dāng)會(huì)得到一個(gè)消息框,其中包含您剛才復(fù)制到剪貼板的文本。
現(xiàn)在就剩下一件事情要做:將這兩半段腳本合在一起構(gòu)成一個(gè)完整的腳本。下面這個(gè)腳本就可以從剪貼板中抓取一個(gè) URL 然后在默認(rèn)的 Web 瀏覽器中打開(kāi)該 Web 站點(diǎn):
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)
這個(gè)腳本還不賴(lài)吧。它還有一個(gè)優(yōu)點(diǎn) — 它并不是只能用來(lái)打開(kāi) Web 站點(diǎn)。假定您的剪貼板上有一個(gè)文件路徑,例如“C:\Scripts\ScriptLog.txt”。運(yùn)行此腳本,則該文件將在記事本(或任何您設(shè)置為與 .txt 文件相關(guān)聯(lián)的應(yīng)用程序)中打開(kāi)。如果您的剪貼板上有一個(gè) .doc 文件的路徑,則此腳本將在 Microsoft Word 中打開(kāi)該文檔。它實(shí)際上是一個(gè)通用的文件打開(kāi)腳本,而不僅僅是一個(gè)只能用于 Web 站點(diǎn)的打開(kāi)腳本。
相關(guān)文章
vbs腳本實(shí)現(xiàn)修改DNS和清空IE臨時(shí)文件功能
這篇文章主要介紹了vbs腳本實(shí)現(xiàn)修改DNS和清空IE臨時(shí)文件功能,本文直接給出實(shí)現(xiàn)兩種功能的腳本代碼,需要的朋友可以參考下2015-02-02用VBS精確計(jì)算100的階乘的實(shí)現(xiàn)代碼
運(yùn)行一下上面的程序,輸出2.43290200817664E+18。笑而不語(yǔ),再次證明了我之前的結(jié)論,在這種網(wǎng)站上回答問(wèn)題的,大部分水平都不咋地。2011-04-04VBS教程:VBScript 語(yǔ)句-Rem 語(yǔ)句
VBS教程:VBScript 語(yǔ)句-Rem 語(yǔ)句...2006-11-11用vbs實(shí)現(xiàn)的exe2swf工具腳本代碼
幾個(gè)超據(jù)學(xué)習(xí)價(jià)值的VBS腳本用法:將exe格式的flash拖放在此vbs文件上,即可生成swf文件2008-05-05將WMI中的DateTime類(lèi)型轉(zhuǎn)換成VBS時(shí)間的函數(shù)代碼
WMI中的DateTime數(shù)據(jù)類(lèi)型保存的時(shí)間格式是UTC,與VBS中的時(shí)間類(lèi)型不同。2011-02-02用vbs實(shí)現(xiàn)確定是否安裝了某個(gè)特定的補(bǔ)丁
用vbs實(shí)現(xiàn)確定是否安裝了某個(gè)特定的補(bǔ)丁...2007-03-03VBScript:Join 函數(shù)一個(gè)不太常用,卻很有用的函數(shù)
VBScript:Join 函數(shù)一個(gè)不太常用,卻很有用的函數(shù)...2007-05-05