国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > VBScript > 正文

用vbscript實(shí)現(xiàn)在消息框中顯示一個(gè)超鏈接

2020-06-26 18:09:06
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
問(wèn): 
嗨,Scripting Guy!可以在消息框中包含指向某個(gè) Web 頁(yè)面的超鏈接嗎? 
-- CB 
答: 
嗨,CB。聽(tīng)起來(lái)您好像想要向用戶顯示一個(gè)消息框,并且希望在消息框中包含一個(gè)超鏈接,以便用戶可以點(diǎn)擊這個(gè)鏈接,從而獲得更多信息。例如,假設(shè)某個(gè)用戶試圖訪問(wèn)一些資源,但被拒絕了。這種情況下,您可以彈出一個(gè)消息框,告訴用戶訪問(wèn)被拒絕,然后向他們提供一個(gè)鏈接,這個(gè)鏈接指向的頁(yè)面會(huì)告訴用戶訪問(wèn)所需的權(quán)限。一般說(shuō)來(lái),這種辦法會(huì)比簡(jiǎn)單地說(shuō)“訪問(wèn)被拒絕”好得多。 
那么,是否可以用腳本編寫語(yǔ)言實(shí)現(xiàn)這個(gè)目的呢?好吧,據(jù)我們所知,目前還不能。消息框中含有超鏈接當(dāng)然會(huì)很酷,但使用腳本編寫語(yǔ)言則僅限于簡(jiǎn)單的消息框。 
不過(guò),先等等,別忙著離開(kāi)!您并沒(méi)有問(wèn)我們:“是否存在某種變通辦法可以實(shí)現(xiàn)相同目的,但不必在消息框中嵌入超鏈接?”如果您這么問(wèn),我們就會(huì)告訴您:“總會(huì)有變通辦法的。”您所尋求的就是從消息框中實(shí)現(xiàn)對(duì) Web 頁(yè)面的一鍵式訪問(wèn)。一個(gè)方法就是在消息框中嵌入超鏈接,但不幸的是,我們上面說(shuō)過(guò),使用 VBScript 無(wú)法實(shí)現(xiàn)上述目的。因此,我們?cè)囍褂闷渌k法看看:為什么不彈出一個(gè)消息框,詢問(wèn)用戶:“您是否想要申請(qǐng)?jiān)L問(wèn)此資源?”呢?如果用戶點(diǎn)擊否,那么腳本就會(huì)中止。如果用戶點(diǎn)擊是,腳本就會(huì)自動(dòng)將用戶帶到合適的 Web 頁(yè)面。一個(gè)消息框,一鍵式訪問(wèn)網(wǎng)站。它和使用超鏈接并不十分相同,但結(jié)果卻是一樣的。 
如您所見(jiàn),這只需要以下幾行代碼就可以實(shí)現(xiàn): 
復(fù)制代碼代碼如下:

Set objShell = CreateObject("Wscript.Shell")  
intMessage = Msgbox("Would you like to apply for access to this resource?", _  
    vbYesNo, "Access Denied")  
If intMessage = vbYes Then  
    objShell.Run("http://www.microsoft.com")  
Else  
    Wscript.Quit  
End If 
我們首先創(chuàng)建一個(gè) WSH Shell 對(duì)象實(shí)例;我們需要?jiǎng)?chuàng)建這個(gè)實(shí)例,以便彈出 Web 瀏覽器和鏈接到網(wǎng)站。然后,我們顯示消息框(標(biāo)題為訪問(wèn)被拒絕),并詢問(wèn)用戶:“您是否想要申請(qǐng)?jiān)L問(wèn)此資源?”這個(gè)消息框具有一個(gè)是按鈕和一個(gè)否按鈕,這就是 VBScript 常量 vbYesNo 的用途。 
注意:有些人可能在想:“等等,我想您應(yīng)該在 VBScript 中明確定義這些常量。”在大多數(shù)情況下,這是正確的。如果我們處理的是 FileSystemObject(打個(gè)比方),那么我們就需要使用類似如下代碼定義常量: 
Const ForReading = 1 
但是,VBScript 有一些內(nèi)部常量。vbYesNo 恰好就是其中之一。它用于在消息框中顯示“是”按鈕或“否”按鈕。vbCrLf 則是另一個(gè)內(nèi)部常量,它的作用是在字符串末尾添加回車換行。這些內(nèi)部常量——它們是 VBScript 語(yǔ)言的一部分——不必定義;在您輸入 vbYesNo 時(shí),VBScript 會(huì)知道您的意思。 
我們剛才說(shuō)到哪了?哦,對(duì)了,我們彈出一個(gè)消息框,并向用戶提供是按鈕和否按鈕。如果用戶點(diǎn)擊是,我們就將他們帶到指定的網(wǎng)站。那么,如何知道用戶點(diǎn)擊的是否為是呢?很簡(jiǎn)單:當(dāng)我們創(chuàng)建消息框時(shí),我們就將用戶響應(yīng)存儲(chǔ)在變量 intMessage 中。因此,若要判斷用戶點(diǎn)了哪個(gè)按鈕,我們只要檢查 intMessage 的值就可以了。如果這個(gè)值等于 vbYesNo(另一個(gè)內(nèi)部常量,等于 6),那么用戶點(diǎn)擊的便為是,于是我們就使用 Shell 對(duì)象的 Run 方法打開(kāi)網(wǎng)站 http://www.microsoft.com。(注意,我們需要做的就是指定 URL;然后操作系統(tǒng)就會(huì)使用默認(rèn)瀏覽器導(dǎo)航到該站點(diǎn)。) 
那如果用戶點(diǎn)擊的為否呢?這種情況下,我們就會(huì)退出 (Wscript.Quit)。 
恰如我們所說(shuō)的,這個(gè)方法和我們想象中的不完全一樣,但它可以實(shí)現(xiàn)這個(gè)目的。 
順便說(shuō)一下,如果您想了解有關(guān) VBScript 的 Msgbox 函數(shù)以及配置這個(gè)函數(shù)的不同方式的更多信息,請(qǐng)?jiān)L問(wèn)MSDN 上的 “VBScript 語(yǔ)言參考”。 
那如果您需要制作精美一點(diǎn)的消息框呢?這種情況下,您可以自己動(dòng)手制作一個(gè) HTML 頁(yè)面,然后使用這個(gè)頁(yè)面模擬真實(shí)的 Windows 消息框。不過(guò)這個(gè)問(wèn)題我們將在其他時(shí)間討論。 
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乌恰县| 阿坝县| 宁乡县| 宜都市| 罗山县| 平顺县| 洛川县| 许昌县| 乌鲁木齐市| 孝义市| 石门县| 香河县| 黎平县| 广平县| 灵丘县| 红安县| 荆门市| 甘泉县| 健康| 汉寿县| 金川县| 丹东市| 长阳| 镇雄县| 竹溪县| 山西省| 宁明县| 盐边县| 密山市| 临洮县| 原平市| 邵武市| 吴堡县| 鹿泉市| 南澳县| 佳木斯市| 太和县| 怀柔区| 加查县| 乐安县| 山西省|