1. 程式人生 > 程式設計 >詳解JavaScript修改登錄檔的方法

詳解JavaScript修改登錄檔的方法

本例項主要通過WshShell 物件的相關方法實現。WshShell物件是WSH(WSH是Windows ing Host的縮寫,內嵌於Windows作業系統中的指令碼語言工作環境)的內建物件,主要負責程式的本地執行、處理登錄檔、建立快捷方式、獲取系統資料夾資訊及處理環境變數等工作。 WshShell 物件的相關方法如表11.1所示。

本例項中主要應用了 RegWrite方法,下面將對該方法進行詳細介紹。

RegWrite方法用於在登錄檔中設定指定的鍵或值,其語法格式如下:

WshShell.RegWrite strName,anyValue,[strType]

引數說明

l strName:用於指定登錄檔的鍵或值,若strName以一個反斜槓 (在 中為//) 結束,則該方法設定鍵,否則設定值。strName 引數必須以根鍵名“HKEY_CURRENT_USER”、 “HKEY_LOCAL_MACHINE”、“HKEY_CLASSES_ROOT”、“HKEY_USERS”或 “HKEY_CURRENT_CONFIG”開頭。

l AnyValue:用於指定登錄檔的鍵或值的值。當strType為REG_SZ或REG_EXPAND_SZ時,RegWrite方法自動將 anyValue轉換為字串。若strType為REG_DWORD,則anyValue被轉換為整數。若strType為REG_BINARY,則 anyValue必須是一個整數。

l StrType:用於指定登錄檔的鍵或值的資料型別。RegWrite方法支援的資料型別為REG_SZ、REG_EXPAND_SZ、 REG_DWORD和REG_BINARY。其他的資料型別被作為strType傳遞,RegWrite 返回 E_INVALIDARG。

實現過程

(1)編寫自定義 函式PageSetup_del()和PageSetup_set(),用於實現清空頁首頁尾和恢復頁首頁尾的功能。具體程式碼如下:

< language=" "> 
 var HKEY_RootPath="HKEY_CURRENT_USER//Software//Microsoft//Internet Explorer//PageSetup//"; function PageSetup_del()
{  
 //清空頁首頁尾
 try
{ 
 var WSc=new ActiveX ("W .Shell");  HKEY_Key="header"; 
 WSc.RegWrite(HKEY_RootPath+HKEY_Key,"");  HKEY_Key="footer"; 
 WSc.RegWrite(HKEY_RootPath+HKEY_Key,""); 
}catch(e){} 
} 
function PageSetup_set()
{ 
 //恢復頁首頁尾 
 try{ 
 var WSc=new ActiveX ("W .Shell");  HKEY_Key="header"; 
 WSc.RegWrite(HKEY_RootPath+HKEY_Key,"&w&b頁碼,&p/&P");  
HKEY_Key="footer"; 
 WSc.RegWrite(HKEY_RootPath+HKEY_Key,"&u&b&d"); 
 }catch(e){} 
} 
</ >

(2)建立HTML的 標籤,呼叫WebBrowser控制元件,程式碼如下:

< id="WebBrowser" classid="ClSID:8856F961-340A-11D0-A96B-00C04Fd705A2" width="0" height="0">

</ >

(3)建立“清空頁首頁尾”和“恢復頁首頁尾”的超級連結,並呼叫自定義函式PageSetup_del()和PageSetup_set()實現相應功能。程式碼如下:

<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="PageSetup_del()">清空頁首頁尾</a>

<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="PageSetup_set()"> 恢復頁首頁尾 </a>

(4)建立相關的列印超級連結,並呼叫WebBrowser控制元件的相應引數實現列印預覽、列印等功能。程式碼如下:

<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="document.all.WebBrowser.Execwb(7,1)">列印預覽</a>

 <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="document.all.WebBrowser.Execwb(6,1)">列印</a>

 <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="document.all.WebBrowser.Execwb(6,6)">直接列印</a>

 <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="document.all.WebBrowser.Execwb(8,1)">頁面設定</a>

總結

以上所述是小編給大家介紹的JavaScript修改登錄檔的方法,希望對大家有所幫助!