問:
您好,指令碼專家!最近我註冊了新的 網際網路服務,現在每次我啟動 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 標題列的指令碼:
複製代碼 代碼如下:Const HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Internet Explorer\Main"
strValueName = "Window Title"
strValue = "The Scripting Guys"
objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, strValueName, strValue
預設情況下,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 將首先建立新的註冊表值,然後將所需的字串賦給它。
對此,我們只能做到這些。從現在開始將由各位決定如何充分利用這一新發現的知識。請明智地做出選擇。