用脚本文件简单修改注册表
用.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 创建项 HKCU\MyRegKey 数值为 'Top level key'
WSHShell.RegWrite HKCU\MyRegKey\, Top level key
WSHShell.Popup 创建项 HKCU\MyRegKey\Entry 数值为 'Second level key'
WSHShell.RegWrite HKCU\MyRegKey\Entry\, Second level key
WSHShell.Popup 将数值项 HKCU\MyRegKey\Value 设为 REG_SZ 1
WSHShell.RegWrite HKCU\MyRegKey\Value, 1
WSHShell.Popup 将数值项 HKCU\MyRegKey\Entry 设为 REG_DWORD 2
WSHShell.RegWrite HKCU\MyRegKey\Entry, 2, REG_DWORD
WSHShell.Popup 将数值项 HKCU\MyRegKey\Entry\Value1 设为 REG_BINARY 3
WSHShell.RegWrite HKCU\MyRegKey\Entry\Value1, 3, REG_BINARY
WSHShell.Popup 删除 HKCU\MyRegKey\Entry\Value1 数值
WSHShell.RegDelete HKCU\MyRegKey\Entry\Value1
WSHShell.Popup 删除 HKCU\MyRegKey\Entry 项
WSHShell.RegDelete HKCU\MyRegKey\Entry\
WSHShell.Popup 删除 HKCU\MyRegKey 项
WSHShell.RegDelete HKCU\MyRegKey\
' * 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 创建项 HKCU\MyRegKey 数值为 'Top level key' 是声明要修改的注册表项.
WSHShell.RegWrite HKCU\MyRegKey\, 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=$CHICAGO$
[DEFAULTINSTALL]
ADDREG=MY.ADD.REG
DELREG=MY.DEL.REG
[MY.ADD.REG]
HKLM,SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\WINLOGON,AUTOADMINLOGON,0,”0”
HKCU,CONTROL PANEL\DESKTOP,SMOOTHSCROLL,1,01,00,00,00
HKCU,CONTROL PANEL\DESKTOP,SCREENSAVEUSEPASSWORD,1,00,00,00,00
[MY.DEL.REG]
HKCU,MYKEY
HKLM,SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\WINLOGON,DEFAULTUSERNAME
HKLM,SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\WINLOGON,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=$CHICAGO$
[DEFAULTINSTALL]
DELREG=DELTEGKEY
[DELREGKEY]
HKCU,”SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\DOC FIND SPEC MRU”,
HKCU, SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\FINDCOMPUTERMRU,
HKCU, SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\RECENTDOCS,
HKCU, SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\RUNMRU
清除MRU和WINDOWS\RENCENT 的批处理文件
CLEAN.BAT
@ECHO OFF
C:\WINDOWS\RUNDLL.EXE SETUPX.DLL,INSTALLHINFSECTION DEFAULTINSTALL 132 CLEAN.INF
ECHOY |ERASE C:\WINDOWS\RECENT
各位可将CLEAN.BAT 加入HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN中让电脑自动在启动时完成任务.