問(wèn): 您好,腳本專家!最近我注冊(cè)了新的 Internet 服務(wù),現(xiàn)在每次我啟動(dòng) Internet Explorer 時(shí)窗口標(biāo)題顯示 Internet Explorer 由 Fabrikam.com 提供。如何更改 Internet Explorer 的標(biāo)題欄? -- AD 答: 您好,AD。您知道,您的問(wèn)題讓腳本專家在道德和倫理方面進(jìn)退兩難。在我們收到您的電子郵件的同時(shí),我們收到了另一封電子郵件,其內(nèi)容如下: “您好,腳本專家!我知道許多公司配置了 Internet Explorer,從而其用戶每次啟動(dòng) Internet Explorer 時(shí),窗口標(biāo)題顯示 Internet Explorer 由 Fabrikam.com 提供,希望我也能做到。如何更改 Internet Explorer 的標(biāo)題欄?” 那么,標(biāo)題欄顯示 Internet Explorer 由 Fabrikam.com 提供是件好事,還是壞事呢?這讓我們無(wú)所適從。但是,作為腳本專家,我們的工作不是告訴您孰是孰非。我們的工作只是為人們提供能夠更改 Internet Explorer 標(biāo)題欄的腳本:
默認(rèn)情況下,Internet Explorer 顯示任何打開(kāi)網(wǎng)頁(yè)的頁(yè)面標(biāo)題(若頁(yè)面無(wú)標(biāo)題則顯示 URL)。標(biāo)題之后尾隨的是短語(yǔ) Microsoft Internet Explorer。要將其更改為其他短語(yǔ)(或者完全刪除附加的短語(yǔ)),您需要修改注冊(cè)表值 HKCU/Software/Microsoft/Internet Explorer/Main/Window Title。例如,將窗口標(biāo)題設(shè)置為 The Scripting Guys 后,Internet Explorer 將如下圖所示:
非常酷,哈?如果將窗口標(biāo)題更改為 Internet Explorer 由 Fabrikam.com 提供,那么它將在頁(yè)面標(biāo)題后顯示。如果將值更改為空字符串 (""),那么在 Internet Explorer 標(biāo)題欄將僅顯示頁(yè)面名稱:
注意:如果您刪除該注冊(cè)表值會(huì)怎樣?在這種情況下,Internet Explorer 將自動(dòng)還原為顯示默認(rèn)短語(yǔ) Microsoft Internet Explorer。 既然知道了標(biāo)題欄的來(lái)龍去脈,那么腳本是怎樣工作的呢?嗯,它首先定義一個(gè)名為 HKEY_CURRENT_USER 的常量并將其值設(shè)為 &H80000001;這告訴標(biāo)準(zhǔn)注冊(cè)表提供程序(我們用來(lái)修改注冊(cè)表的 WMI 對(duì)象)我們要使用哪個(gè)注冊(cè)表單元。然后,我們可以使用下面這行代碼綁定到本地計(jì)算機(jī)上的標(biāo)準(zhǔn)注冊(cè)表提供程序: Set objReg = GetObject("winmgmts://" & strComputer & "/root/default:StdRegProv") 是的,與 Windows Script Host 的注冊(cè)表方法不同,您可以使用標(biāo)準(zhǔn)注冊(cè)表提供程序讀寫(xiě)遠(yuǎn)程計(jì)算機(jī)上的注冊(cè)表。您只需將遠(yuǎn)程計(jì)算機(jī)的名稱賦給變量 strComputer。 建立連接后,我們需要為下面三個(gè)不同的變量賦值: • strKeyPath 是在其中找到窗口標(biāo)題的注冊(cè)表項(xiàng)。本例中,它是 Software/Microsoft/Internet Explorer/Main。 • strValueName 是我們要修改的注冊(cè)表值的名稱(窗口標(biāo)題)。 • strValue 是要賦給窗口標(biāo)題的新值。因?yàn)榇翱跇?biāo)題是 REG_SZ 數(shù)據(jù)類型,故 strValue 必須是字符串值。如上文所述,將 strValue 設(shè)置為空字符串 ("") 時(shí),將不會(huì)向 Internet Explorer 標(biāo)題欄添加其他詞語(yǔ)。 要真正改變注冊(cè)表值,只需要調(diào)用 SetDWORDValue 方法,傳遞常量和三個(gè)變量(按以下順序): objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, strValueName, strValue 至此您已實(shí)現(xiàn)了您的目的。如果窗口標(biāo)題不存在,也沒(méi)有什么問(wèn)題:SetStringValue 將首先創(chuàng)建新的注冊(cè)表值,然后將所需的字符串賦給它。 對(duì)此,我們只能做到這些。從現(xiàn)在開(kāi)始將由各位決定如何充分利用這一新發(fā)現(xiàn)的知識(shí)。請(qǐng)明智地做出選擇。