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