概述
利用INF文件来修改注册表
[Version]
Signature="$CHICAGO$"
[Defaultinstall]
addREG=Gc
[Gc]
HKCU,"SoftwareMicrosoftWindowsCurrentVersionPoliciessystem","disableregistrytools","0x00010001","1"
在这里我就给大家慢慢讲解下
[Version]
Signature="$CHICAGO$"
[Defaultinstall]
这3行是固定格式,每个文件的前3行都可以这样写
addreg是建立注册表值
delreg是删除注册表值
这个很容易理解我就不多作解释了吧
addreg=后面的字母一定要与下一行[]中的字母一样,其中的道理就不需要我解释了吧
HKCU,"SoftwareMicrosoftWindowsCurrentVersionPoliciessystem","disableregistrytools","0x00010001","0"
HKCU是相关注册表大键的简写,inf文件里用的是缩写
HKEY_CLASSES_ROOT 简写为 HKCR
HKEY_CURRENT_USER 简写为 HKCU
HKEY_LOCAL_MACHINE 简写为 HKLM
HKEY_USERS 简写为 HKU
HKEY_CURRENT_CONFIG 简写为 HKCC
大家可以看出简写的规律吧
HKEY_CLASSES_ROOT 取的是前一段字母中的HK,中间那段字母的第一个字母C,最后一段字母的第一个字母R,所以就简写成HKCR,其他的道理也是一样~!
注意一点:这里的大键缩写不需要引号
"SoftwareMicrosoftWindowsCurrentVersionPoliciessystem","disableregistrytools"
这里是具体的键值就不用解释了吧
"0x00010001"
这个代表的是写入或删除注册表中数值的类型
0x00000000 代表的是 字符串值
0x00010001 代表的是 DWORD值
"1"
这里代表是写入或删除注册表键值中的具体数据
我们把
[Version]
Signature="$CHICAGO$"
[Defaultinstall]
addREG=Gc
[Gc]
HKCU,"SoftwareMicrosoftWindowsCurrentVersionPoliciessystem","disableregistrytools","0x00010001","1"
这些内容保存为*.inf文件的话,点鼠标右键选择安装
再打开注册表看下效果吧
inf对格式要求比较严格,在编写时一定不能任意插入回车符或换行符,记住了~!
在命令行里导入inf的命令如下
rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 inf文件的具体路径
REG_SZ = 0x00000000
REG_MULTI_SZ = 0x00010000
REG_EXPAND_SZ = 0x00020000
REG_BINARY = 0x00000001
REG_DWORD = 0x00010001
在补充一点:如果要建立2进制的数据就这样编写
“0x00000001”,02,02,02,02,02
INF是一个用于安装驱动程序的文件,是文本格式的。里面记录着驱动程序的所有相关资料,随便打开一个INF文件度可看到很多奇奇怪怪的东西,其实这一点也不奇怪,因为每一项都有特定的含义,比如从VERSION一项就可以看出支持的Windows版本是什么。比如Win9X系列的代号就是CHICAGO,Win2000/XP的代号就是
Windows NT,知道这些就好办了。
首先打开记事本,然后在里面输入下面内容(最好复制、粘贴),然后保存为ADDREG.INF。
[Version]
SIGNATURE = "$CHICAGO"
;如果是Windows2000/XP,请将CHICAGO修改为Windows NT
[DEFAULTINSTALL]
ADDREG = ADDREG.REG
[ADDREG.REG]
HKLM,"SOFTWARE★★Smallfrogs★★",,%REG_SZ%,★★Smalfrogs向你表示祝贺★★!
HKLM,"SOFTWARE★★Smallfrogs★★",SZ字符串,%REG_SZ%,Congratulations!
HKLM,"SOFTWARE★★Smallfrogs★★",Dword双字节,%REG_Dword%,1
HKLM,"SOFTWARE★★Smallfrogs★★",Binary二进值,%REG_BINARY%,00,00,00,00,10,11,00,00
HKLM,"SOFTWARE★★Smallfrogs★★测试"
[Strings]
REG_SZ = 0x00000000
REG_BINARY = 0x00000001
REG_DWORD = 0x00010001
鼠标右键点击这个INF文件,选择快捷菜单的安装命令,如果你格式没有错误的话,应该在HKEY_LOCAL_MACHINESoftware下面看到一个新的主键:★★Smallfrogs★★,选中这个主键,,应该可以在右边看到默认值为★★Smalfrogs向你表示祝贺★★!,还有1个叫做"SZ字符串"的字符串值为Congratulations!等等。另外展开这个主键,还可以看到另外一个主键,名字叫做"测试",是不是感到很奇怪啊?其实一点都不神秘,就是那个INF文件搞得鬼。下面我来详细的解释一下。
其实这是调用了INF文件最基本的功能:修改注册表。格式如下:
[Version] 指明能够使用的Windows版本
Signuture 系统从这里来看是不是适合当前版本,如果适合的话就执行,否则不执行
[DEFAULTINSTALL] 表示默认安装值
ADDREG 表示在注册表中添加东西
DELREG 表示在注册表中删除东西
[Strings] 是扩充用的,这样就可以避免记忆麻烦的数字了。比如字符串本来应该是0,现在用REG_SZ表示。
基本原理就这些,现在我们来删除刚刚我建立的东西。
在记事本里面粘贴下面内容
[Version]
Signature = "$CHICAGO$"
[DEFAULTINSTALL]
DELREG =DELREG.REG
[DELREG.REG]
HKLM,"SOFTWARE★★Smallfrogs★★测试"
HKLM,"SOFTWARE★★Smallfrogs★★"
然后保存为DELREG.INF,还是鼠标右键点击这个INF文件,选择快捷菜单的安装命令,然后你再到注册表编辑器里面看看,是不是我刚刚建立的东西没有了。怎么样?很神气吧?
也许有人会问,能不能只删除一项呢?可以的。比如我删除HKEY_LOCAL_MACHINE★★Smallfrogs★★下的那个叫做"SZ字符串"的字符串值,那么只需要写下面内容:
[Version]
Signature = "$CHICAGO$"
[DEFAULTINSTALL]
DELREG =DELREG.REG
[DELREG.REG]
HKLM,"SOFTWARE★★Smallfrogs★★",SZ字符串
然后按照同样的方法运作即可只删除这个字符串值。
注意:这个方法危险度很高,而且格式要求也很严(必须使用英文标点符号,而且段落之间必须空一行。请按照我的格式书写),请大家小心使用。
先举一个例子,然后做详细讲解
[VERSION]
SIGNATURE=$CHICAGO$
[DEFAULTINSTALL]
ADDREG=MY.ADD.REG
DELREG=MY.DEL.REG
[MY.ADD.REG]
HKLM,SOFTWAREMICROSOFTWINDOWSCURRENTVERSIONWINLOGON,AUTOADMINLOGON,0,”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=$CHICAGO$
[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中让电脑自动在启动时完成任务.
最后附上一个 修改系统声音的inf文件的例子
---------------------------------------------------------------------------------------------------------------------------------
;Vista Media Scheme Setup For XP
;taho
[Version]
Signature="$CHICAGO$"
[DefaultInstall]
AddReg=Vista_AddReg
Copyfiles=Vista_Copyfiles,Vista_inf
[DefaultUnInstall]
DelFiles=Vista_Copyfiles,Vista_inf
DelFiles=DestinationDirs,Vista_inf
DelReg=Vista_AddReg
AddReg=DefaultReg
[DestinationDirs]
Vista_Copyfiles=10,MediaVista
Vista_inf=17
[Vista_Copyfiles]
chimes.wav
chord.wav
ding.wav
ir_begin.wav
ir_end.wav
ir_inter.wav
notify.wav
recycle.wav
ringout.wav
Speech Disambiguation.wav
Speech Misrecognition.wav
Speech Off.wav
Speech On.wav
tada.wav
Windows Balloon.wav
Windows Battery Critical.wav
Windows Battery Low.wav
Windows Critical Stop.wav
Windows Default.wav
Windows Ding.wav
Windows Error.wav
Windows Exclamation.wav
Windows Feed Discovered.wav
Windows Hardware Fail.wav
Windows Hardware Insert.wav
Windows Hardware Remove.wav
Windows Information Bar.wav
Windows Logoff Sound.wav
Windows Logon Sound.wav
Windows Menu Command.wav
Windows Minimize.wav
Windows Navigation Start.wav
Windows Notify.wav
Windows Pop-up Blocked.wav
Windows Print complete.wav
Windows Recycle.wav
Windows Restore.wav
Windows Ringin.wav
Windows Ringout.wav
Windows Shutdown.wav
Windows Startup.wav
Windows User Account Control.wav
[Vista_inf]
Vista.inf
[Vista_AddReg]
HKCU,AppEventsSchemes,,,"Vista"
HKCU,AppEventsSchemesApps.Default.Default.Current,,,"VistaWindows Default.wav"
HKCU,AppEventsSchemesApps.Default.DefaultVista
HKCU,AppEventsSchemesApps.Default.DefaultVista,,,"VistaWindows Default.wav"
HKCU,AppEventsSchemesApps.DefaultCriticalBatteryAlarm.Current,,,"VistaWindows Battery Critical.wav"
HKCU,AppEventsSchemesApps.DefaultCriticalBatteryAlarmVista
HKCU,AppEventsSchemesApps.DefaultCriticalBatteryAlarmVista,,,"VistaWindows Battery Critical.wav"
HKCU,AppEventsSchemesApps.DefaultDeviceConnect.Current,,,"VistaWindows Hardware Insert.wav"
HKCU,AppEventsSchemesApps.DefaultDeviceConnectVista
HKCU,AppEventsSchemesApps.DefaultDeviceConnectVista,,,"VistaWindows Hardware Insert.wav"
HKCU,AppEventsSchemesApps.DefaultDeviceDisconnect.Current,,,"VistaWindows Hardware Remove.wav"
HKCU,AppEventsSchemesApps.DefaultDeviceDisconnectVista
HKCU,AppEventsSchemesApps.DefaultDeviceDisconnectVista,,,"VistaWindows Hardware Remove.wav"
HKCU,AppEventsSchemesApps.DefaultDeviceFail.Current,,,"VistaWindows Hardware Fail.wav"
HKCU,AppEventsSchemesApps.DefaultDeviceFailVista
HKCU,AppEventsSchemesApps.DefaultDeviceFailVista,,,"VistaWindows Hardware Fail.wav"
HKCU,AppEventsSchemesApps.DefaultLowBatteryAlarm.Current,,,"VistaWindows Battery Low.wav"
HKCU,AppEventsSchemesApps.DefaultLowBatteryAlarmVista
HKCU,AppEventsSchemesApps.DefaultLowBatteryAlarmVista,,,"VistaWindows Battery Low.wav"
HKCU,AppEventsSchemesApps.DefaultMailBeep.Current,,,"Vistanotify.wav"
HKCU,AppEventsSchemesApps.DefaultMailBeepVista
HKCU,AppEventsSchemesApps.DefaultMailBeepVista,,,"Vistanotify.wav"
HKCU,AppEventsSchemesApps.DefaultMenuCommand.Current,,,"VistaWindows Menu Command.wav"
HKCU,AppEventsSchemesApps.DefaultMenuCommandVista
HKCU,AppEventsSchemesApps.DefaultMenuCommandVista,,,"VistaWindows Menu Command.wav"
HKCU,AppEventsSchemesApps.DefaultMenuPopup.Current,,,""
HKCU,AppEventsSchemesApps.DefaultMenuPopupVista
HKCU,AppEventsSchemesApps.DefaultMenuPopupVista,,,""
HKCU,AppEventsSchemesApps.DefaultMinimize.Current,,,"VistaWindows Minimize.wav"
HKCU,AppEventsSchemesApps.DefaultMinimizeVista
HKCU,AppEventsSchemesApps.DefaultMinimizeVista,,,"VistaWindows Minimize.wav"
HKCU,AppEventsSchemesApps.DefaultPrintComplete.Current,,,"VistaWindows Print complete.wav"
HKCU,AppEventsSchemesApps.DefaultPrintCompleteVista
HKCU,AppEventsSchemesApps.DefaultPrintCompleteVista,,,"VistaWindows Print complete.wav"
HKCU,AppEventsSchemesApps.DefaultRestoreUp.Current,,,"VistaWindows Restore.wav"
HKCU,AppEventsSchemesApps.DefaultRestoreUpVista
HKCU,AppEventsSchemesApps.DefaultRestoreUpVista,,,"VistaWindows Restore.wav"
HKCU,AppEventsSchemesApps.DefaultSystemAsterisk.Current,,,"VistaWindows Error.wav"
HKCU,AppEventsSchemesApps.DefaultSystemAsteriskVista
HKCU,AppEventsSchemesApps.DefaultSystemAsteriskVista,,,"VistaWindows Error.wav"
HKCU,AppEventsSchemesApps.DefaultSystemExclamation.Current,,,"VistaWindows Exclamation.wav"
HKCU,AppEventsSchemesApps.DefaultSystemExclamationVista
HKCU,AppEventsSchemesApps.DefaultSystemExclamationVista,,,"VistaWindows Exclamation.wav"
HKCU,AppEventsSchemesApps.DefaultSystemExit.Current,,,"VistaWindows Shutdown.wav"
HKCU,AppEventsSchemesApps.DefaultSystemExitVista
HKCU,AppEventsSchemesApps.DefaultSystemExitVista,,,"VistaWindows Shutdown.wav"
HKCU,AppEventsSchemesApps.DefaultSystemHand.Current,,,"VistaWindows Ding.wav"
HKCU,AppEventsSchemesApps.DefaultSystemHandVista
HKCU,AppEventsSchemesApps.DefaultSystemHandVista,,,"VistaWindows Ding.wav"
HKCU,AppEventsSchemesApps.DefaultSystemNotification.Current,,,"VistaWindows Notify.wav"
HKCU,AppEventsSchemesApps.DefaultSystemNotificationVista
HKCU,AppEventsSchemesApps.DefaultSystemNotificationVista,,,"VistaWindows Notify.wav"
HKCU,AppEventsSchemesApps.DefaultSystemQuestion.Current,,,"VistaWindows Ding.wav"
HKCU,AppEventsSchemesApps.DefaultSystemQuestionVista
HKCU,AppEventsSchemesApps.DefaultSystemQuestionVista,,,"VistaWindows Ding.wav"
HKCU,AppEventsSchemesApps.DefaultSystemStart.Current,,,"VistaWindows Startup.wav"
HKCU,AppEventsSchemesApps.DefaultSystemStartVista
HKCU,AppEventsSchemesApps.DefaultSystemStartVista,,,"VistaWindows Startup.wav"
HKCU,AppEventsSchemesApps.DefaultWind ...
最后
以上就是幽默花瓣为你收集整理的利用INF文件来修改注册表的全部内容,希望文章能够帮你解决利用INF文件来修改注册表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复