用.VBS腳本,也就是SCRIPT 腳本檔對註冊表進行修改。
如果您的愛機不支援VBSCRIPT,那麼請您直接閱讀第二部分。
下面通過一個例子自來解釋腳本檔:
Windows Script Host Sample Script
You have a royalty-free right to use, modify, reproduce and distribute
the Sample Application Files (and/or any modified version) in any way
you find useful, provided that you agree that Microsoft has no warranty,
obligations or liability for any Sample Application Files.
------------------------------------------------------------------------
This sample demonstrates how to write/delete entries in the registry.
L_Welcome_MsgBox_Message_Text = "此腳本顯示如何創建和刪除註冊表項。"
L_Welcome_MsgBox_Title_Text = "Windows Scripting Host 範例"
Call Welcome()
********************************************************************************
*
* Registry related methods.
*
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Popup "創建項 HKCUMyRegKey 數值為 Top level key"
WSHShell.RegWrite "HKCUMyRegKey", "Top level key"
WSHShell.Popup "創建項 HKCUMyRegKeyEntry 數值為 Second level key"
WSHShell.RegWrite "HKCUMyRegKeyEntry", "Second level key"
WSHShell.Popup "將數值項 HKCUMyRegKeyValue 設為 REG_SZ 1"
WSHShell.RegWrite "HKCUMyRegKeyValue", 1
WSHShell.Popup "將數值項 HKCUMyRegKeyEntry 設為 REG_DWORD 2"
WSHShell.RegWrite "HKCUMyRegKeyEntry", 2, "REG_DWORD"
WSHShell.Popup "將數值項 HKCUMyRegKeyEntryValue1 設為 REG_BINARY 3"
WSHShell.RegWrite "HKCUMyRegKeyEntryValue1", 3, "REG_BINARY"
WSHShell.Popup ot;刪除 HKCUMyRegKeyEntryValue1 數值"
WSHShell.RegDelete "HKCUMyRegKeyEntryValue1"
WSHShell.Popup "刪除 HKCUMyRegKeyEntry 項"
WSHShell.RegDelete "HKCUMyRegKeyEntry"
WSHShell.Popup "刪除 HKCUMyRegKey 項"
WSHShell.RegDelete "HKCUMyRegKey"
********************************************************************************
*
* Welcome
*
Sub Welcome()
Dim intDoIt
intDoIt = MsgBox(L_Welcome_MsgBox_Message_Text, _
vbOKCancel + vbInformation, _
L_Welcome_MsgBox_Title_Text )
If intDoIt = vbCancel Then
WScript.Quit
End If
End Sub
1.在上例中,單引號後面是注釋.
2. L_Welcome_MsgBox_Message_Text = "此腳本顯示如何創建和刪除註冊表項。"
L_Welcome_MsgBox_Title_Text = "Windows Scripting Host 範例"
這兩句是提示.
3. 用 Set WSHShell = WScript.CreateObject("WScript.Shell"),定義一個物件WSHSHELL 為WScript.Shell,
4.WELCOME()是一個確認對話方塊.
5. WSHShell.Popup "創建項 HKCUMyRegKey 數值為 Top level key" 是聲明要修改的註冊表項.
WSHShell.RegWrite "HKCUMyRegKey", "Top level key" 在HKCU下面創建MYREGKEY子鍵,讀者也可以根據自己實際情況修改鍵名、指定路徑。
6、REG_SZ為字串,要用引號引起來,REG_DWORD 為0—2147483647之間整數,REG_BINARY與之範圍相同。
7、需要注意的是,若結尾是“”則創建一個主鍵(項),將其預設值設為逗號後面的值項,若結尾不是“”,則在前一個“”後面的項中建立所設立的VALUE,逗號後面為其值。
8、WSHShell.RegDelete與WSHShell.RegWrite大致相同,只是功能相反。
各位可以將上面文檔複製,存為FILENAME.VBS,然後雙擊即可。
用INF 腳本修改註冊表。同樣我先舉一個例子,然後做詳細講解。
[VERSION]
SIGNATURE=$
[DEFAULTINSTALL]
ADDREG=MY.ADD.REG
DELREG=MY.DEL.REG
[MY.ADD.REG]
HKLM,SOFTWAREMICROSOFTWINDOWSCURRENTVERSIONWINLOGON,AUTOADMINLOGON,0,”
HKCU,CONTROL PANELDESKTOP,SMOOTHSCROLL,1,01,00,00,00
HKCU,CONTROL PANELDESKTOP,SCREENSAVEUSEPASSWORD,1,00,00,00,00
[MY.DEL.REG]
HKCU,MYKEY
HKLM,SOFTWAREMICROSOFTWINDOWSCURRENTVERSIONWINLOGON,DEFAULTUSERNAME
HKLM,SOFTWAREMICROSOFTWINDOWSCURRENTVERSIONWINLOGON,DEFAULTUSERNAME
1.[VERSION] 是文件頭。
SIGNATURE=$CHICAGO$ 是指針對WINDOWS(CHICAGO是WINDOWS95的內部名稱)
要編輯註冊表必須以這兩句開頭。
2、[DEFAULTINSTALL]段指出INF檔包含的其他段,ADDREG 和DELREG是鍵,有特殊意義,他指出要添加或刪除的註冊表項段名
3、WINDOWS98總是先處理DELREG段,後處理ADDREG段,這可能會對我們的應用有所幫助。
[MY.ADD.REG]
HKCU,MYKEY,MYVALUE,0,“STRING” 添加名為MYVALUE的字串值項到鍵MYKEY下,其值設為STRING
HKCU,MYKEY,MYVALUE,,STRING 添加名為MYVALUE的字串值項到MYKEY,將其值設為STRING
HKCU,MYKEY,MYVALUE,1,77,34,05,20添加名為MYVALUE的二進位值項到鍵MYKEY下,其值設為二進位值77,34,05,20
HKCU,MYKEY,0,”DEFAULT VALUE” 設置鍵MYKEY的缺省值項為字串DEFAULT VALUE
HKCU,MYKEY,,”DEFAULT VALUE” 設置鍵MYKEY的缺省值項並將其值設為字串DEFAULT VALUE
HKCU,MYKEY 添加註冊表鍵MYKEY但不設置其值
[MY.DEL.REG]
HKCU,MYKEY,MYVALUE 從鍵MYKEY 中刪除值項MYVALUE
HKCU,MYKEY 刪除鍵MYKEY及其全部子鍵,即刪除全部分支.
下面是一個自動清除MRU記錄的INF檔:
CLEAN.INF
[VERSION]
SIGNATURE=$
[DEFAULTINSTALL]
DELREG=DELTEGKEY
[DELREGKEY]
HKCU,”SOFTWAREMICROSOFTWINDOWSCURRENTVERSIONEXPLORERDOC FIND SPEC MRU”,
HKCU, SOFTWAREMICROSOFTWINDOWSCURRENTVERSIONEXPLORERFINDCOMPUTERMRU,
HKCU, SOFTWAREMICROSOFTWINDOWSCURRENTVERSIONEXPLORERRECENTDOCS,
HKCU, SOFTWAREMICROSOFTWINDOWSCURRENTVERSIONEXPLORERRUNMRU
清除MRU和WINDOWSRENCENT 的批次檔案
CLEAN.BAT
@ECHO OFF
C:WINDOWSRUNDLL.EXE SETUPX.DLL,INSTALLHINFSECTION DEFAULTINSTALL 132 CLEAN.INF
ECHOY |ERASE C:WINDOWSRECENT
各位可將CLEAN.BAT 加入HKEY_LOCAL_MACHINESOFTWAREMICROSOFTWINDOWSCURRENTVERSIONRUN中讓電腦自動在啟動時完成任務.