注册表脚本编程入门
- 格式:docx
- 大小:15.80 KB
- 文档页数:4
vbscript 注册表========VBScript注册表是Windows操作系统中用于存储系统配置和用户设置的一种机制。
通过注册表,用户可以更改系统设置、安装应用程序、管理文件和设置等。
VBScript可以与注册表进行交互,以便在脚本中执行相关操作。
一、注册表结构-------注册表是一个分层的数据结构,由一系列键(Keys)和子键(Subkeys)组成。
每个键都包含一组与之相关的数据。
VBScript可以使用WSH(WindowsScriptingHost)对象来访问注册表。
-----------以下是一些常见的VBScript注册表操作:1.打开注册表项:使用`WScript.RegOpenKey`方法可以打开注册表项。
```vbscriptDimregKeySetregKey=WScript.RegOpenKey"HKEY_CURRENT_USER\Software\M yCompany"```2.读取注册表值:使用`WScript.RegQueryValue`方法可以读取注册表项的值。
```vbscriptDimvalue,resultresult=WScript.RegQueryValueregKey,"MyValue"value=result```3.写入注册表值:使用`WScript.RegSetValue`方法可以将值写入注册表项。
```vbscriptWScript.RegSetValueregKey,"MyValue",REG_SZ,"MyData"```4.删除注册表项:使用`WScript.RegDeleteKey`方法可以删除注册表项及其所有子项和值。
```vbscriptWScript.RegDeleteKeyregKey,"MySubkey"```三、注意事项------在进行VBScript注册表操作时,请注意以下几点:1.谨慎操作:不要随意删除或修改重要的注册表项,以免影响系统的稳定性和安全性。
REG注册表文件编写全攻略Windows 中的注册表文件( system.dat 和 user.dat )是 Windows 的核心数据库,因此,对 Windows 来说是非常重要的。
通过修改注册表文件中的数据,可以达到优化 Windows 性能的效果。
但修改注册表也可能导致整个 Windows 系统的崩溃!所以,在对注册表进行操作前或者是在安装一些软件前先对注册表进行备份。
下面介绍REG 文件的编写方法。
一、对主键的操作1.新建一个主键例如我们想在主键 HKEY_CURRENT_USER\\Software 下新建一个名叫“我的软件”的主键。
那么,你可以打开记事本,写入如下内容:说明:(1) 第一行的 REGEDIT4 必须用大写。
第二行必须为一个空行。
在最后必须要有一个回车。
(2) Windows 95/98/ME/NT4.0等的REG文件开头第一行是“REGEDIT4”。
而Windows 2000/XP则是“Windows Registry Editor Version 5.00”,用以区分所使用的操作系统。
事实上,“REGEDIT4”适合目前任何Windows 操作系统(9X/2000/XP/2003)。
然后将这个文件保存成为 REG 格式。
例如, reg.reg双击运行此文件,会弹出两次确认信息,确定后计算机就会把我们写的注册表项目写入注册表文件中。
你可以打开 Regedit.exe 来检查一下。
2.删除一个主键例如我们想把刚才我们建的那个名叫“我的软件”的主键删除掉,那么我们可以在记事本中这么写:注意到前面的减号“ - ”了吧,这就是删除的意思。
将它保存成 reg 格式,运行。
“我的软件”这个主键就被删掉了。
二、对键值项的操作1.添加一个键值项要新建一个键值项,必须要指明该键值所在的分支,该键值的名字、该键值的类型和该键值的值 ( 数据 ) 。
例如要在分支HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersi on\\Policies\\Explorer 下新建一个名为“ Nodrives ”,类型为“ Dword ” ,值为“ 00000004 ”的键值项。
c#操作注册表最近的项⽬中涉及到对注册表的操作, 就对最近的学习做⼀次总结注册表的相关操作在 RegistryKey 类中, 命名空间在 Microsoft.Win32 中.1. ⾸先, 先介绍⼀下系统的注册表, 已经对注册表有⼀定了解的可跳过这⼀节. 注册表(Registry)是Microsoft Windows中的⼀个重要的数据库,⽤于存储系统和应⽤程序的设置信息. 正常情况下,你可以点击开始菜单当中的运⾏,然后输⼊regedit或regedit.exe点击确定就能打开windows操作系统⾃带的注册表编辑器了, 启动注册表编辑器效果如下图如果操作系统是64位, 注册表中也会存在32位的注册表项, 32位注册表在Wow6432Node节点下, 默认情况下32位注册表中的项会⾃动映射,2. 注册表相关操作 创建注册表项RegistryKey microsoft = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft", true);microsoft.CreateSubKey("MySoft");//创建节点RegistryKey mySoft = microsoft.OpenSubKey("MySoft", true);//设置值mySoft.SetValue("Name", "MySoft"); 获取注册项值RegistryKey mySoft = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\MySoft", false);mySoft.GetValue("Name")?.ToString(); //获取注册表指定项值 在64位程序中指定操作32注册表 RegistryKey localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);。
初谈制作注册表REG脚本文件(中)三、制作REG文件的具体操作1.创建新键创建新键的写法:[路径\新键名]例1,在HKEY_CLASSES_ROOT\*\shell 下创建主键,键名为:NewWindow。
脚本写法:------------------------------------------------------------------------------------------------Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\NewWindow]------------------------------------------------------------------------------------------------例2,再在例1的主键下创建子键,键名为:command。
脚本写法:------------------------------------------------------------------------------------------------Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\NewWindow\command]------------------------------------------------------------------------------------------------以上,是先创建主键后创建子键的,是分两步走的。
其实只要一步就行了,如例1的脚本没有导入,运行例2的脚本,主键、建子会一并创建成功的。
运行效果:2.创建键值项创建键值项的写法:@或"键值名"=键值符键值(1)创建默认键值项的写法: @=键值符键值在注册表中,每一个键都有一个默认键值项,并只能有一个默认键值项。
注册表文件的编写注册表文件是Windows操作系统中一个非常重要的系统文件,它记录了所有安装在计算机上的软件和硬件信息,包括配置信息、组件信息等等。
随着计算机的使用逐渐增多,我们经常需要通过注册表文件来修改系统设置和调整软件程序的设置,因此,学习如何编写注册表文件是非常有必要和实用的。
下面,我们就来看一下如何编写注册表文件,包括以下几个方面:1. 编辑注册表文件的工具2. 编写注册表文件的基本格式3. 注册表文件的存储位置和导入方法4. 注册表文件的注意事项一、编辑注册表文件的工具Windows操作系统自带了一个名为“注册表编辑器”的工具,可以用来编辑注册表文件。
操作方法:点击“开始”菜单,然后在搜索栏中输入“regedit”,可打开注册表编辑器。
二、编写注册表文件的基本格式注册表文件的格式可以看做是一系列的“键”和“值”的组合,其结构类似于一个树形结构。
每一个“键”表示一个特定的设置,而“值”则是该设置所对应的具体值。
例如,我们可以通过注册表文件来禁用“Windows”键,具体的操作方法如下所示:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboa rd Layout]"ScancodeMap"=hex:00,00,00,00,00,00,00,00,03,00,00,00,00,00,5b,e0,00,00,5c,e0,\ 00,00,00,00这段注册表文件表示的是,在注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout路径下,添加一个名为“Scancode Map”的键,值为一串十六进制代码。
其中,前面的“Windows Registry Editor Version 5.00”是必须的,后面的键值对可以根据需要自行编辑。
注册表编程简谈(特别推荐)另附做注册表补丁绝招注册表本身只是一个计算机管理的工具,其实也无所谓编程。
语法也是非常的简单,今天就来给大家讲讲注册表编程。
▪注册表的语法如下:▪RegistryEditorVersion 编辑器版本▪Blank line 空行▪[RegistryPath1] 路径▪"DataItemName1"="DataType1:DataValue1"左边为项,右边为键值。
▪DataItemName2"="DataType2:DataValue2"▪Blank line 空行▪[RegistryPath2] 同上▪"DataItemName3"="DataType3:DataValue3"注意:RegistryEditorVersion 是“Windows Registry Editor Version 5.00”,xp,win7,2000都一样。
▪RegistryPathx 是存放要导入的第一个值的子项的路径。
请用方括▪DataItemNamex 是要导入的数据项的名称。
如果文件中的数据项▪在注册表中不存在,.reg 文件将添加该数据项及其值。
如果数据▪项存在,.reg 文件中的值将覆盖现有的值。
数据项的名称用引号▪引起来。
数据项名称后紧跟着一个等号(=)。
▪▪号将路径括起来,并用反斜杠将层次结构的各个级别隔开。
▪DataTypex 是注册表值的数据类型,紧跟在等号后面。
对于▪DataValuex 紧跟在冒号(对于REG_SZ,则为等号)后面,并▪且格式必须正确(例如,字符串或十六进制)。
对二进制数据项▪使用十六进制格式注册表的删除:▪要使用.reg 文件删除注册表值,请在.reg 文件中的▪DataItemName 后的等号后放置一个连字符(-)。
例如,要从以下▪注册表项中删除TestValue 注册表值:▪HKEY_LOCAL_MACHINE\Software\Test▪请在.reg 文件中的"TestValue"= 后面放置一连字符。
C#操作注册表⼀.注册表巢在注册表中,最上⾯的节点是注册表巢(registry hive)。
HKEY_CLASSES_ROOT(HKCR) 包含系统⽂件类型的细节,以及应⽤程序可以打开的⽂件类型,它还包含所有COM组件的注册信息。
HKEY_CURRENT_USER(HKCU) 包含⽤户⽬前登陆的机器的⽤户配置,包括桌⾯设置、环境变量、⽹络和打印机连接和其他定义⽤户操作环境的变量。
HKEY_LOCAL_MACHINE(HKLM) 是⼀个很⼤的巢,其中包含所有安装到机器上的软件和硬件的信息。
HKEY_USERS(HKUSR) 包含所有⽤户的⽤户配置。
HKEY_CURRENT_CONFIG(HKCF) 包含机器上硬件的信息。
⼆.注册表类及常⽤属性和函数using Microsoft.Win32;这个命名空间包含了注册表相关的类。
Registry类、RegistryKey类。
Registry类封装了注册表的七个基本主键:Registry.ClassesRoot对应于HKEY_CLASSES_ROOT主键Registry.CurrentUser对应于HKEY_CURRENT_USER主键Registry.LocalMachine对应于 HKEY_LOCAL_MACHINE主键er对应于 HKEY_USER主键Registry.CurrentConfig对应于HEKY_CURRENT_CONFIG主键Registry.DynDa 对应于HKEY_DYN_DATA主键Registry.PerformanceData对应于HKEY_PERFORMANCE_DATA主键RegistryKey类封装了对注册表的基本操作。
包括读、写、删等操作的常⽤函数:Name键的名称(只读)SubKeyCount键的⼦键个数ValueCount键包含的值的个数Close()关闭键CreateSubKey()创建给定名称的⼦键DeleteSubKey()删除指定的⼦键DeleteSubKeyTree()递归删除⼦键及其所有的⼦键DeleteValue()从键中删除⼀个指定的值GetAccessControl()返回指定注册表键的访问控制表GetSubKeyNames()返回包含⼦键名称的字符串数组GetValue()返回指定的值GetValueKind()返回指定的值,检索其注册表数据类型GetValueNames()返回⼀个包含所有键值名称的字符串数组OpenSubKey()返回表⽰给定⼦键的RegistryKey实例引⽤SetAccessControl()把访问控制表(ACL)应⽤于指定的注册表键SetValue()设置指定的值三注册表项的创建、打开、删除1,创建//使⽤CreateSubKey()在SOFTWARE下创建⼦项testRegistryKey hklm = Registry.LocalMachine;RegistryKey hkSoftWare = hklm.CreateSubKey(@"SOFTWARE\test");hklm.Close();hkSoftWare.Close();2,打开//使⽤OpenSubKey()打开项,获得RegistryKey对象,当路径不存在时,为Null。
注册表脚本编程入门本小时我们将对注册表脚本文件进行比较深入的学习。
注册表脚本文件——即.reg文件的重要性不仅在于可以用于备份注册表设置,还可以用来改变注册表设置而无需打开注册表编辑器,这在解决某些问题时具有独特的优势和便利性。
注册表脚本是什么?在计算机日常维护中,为了防患于未然,我们需要对注册表进行导出备份;在导出时选择文件保存类型时会看到*.Reg文件,如图22-1所示,这个文件就是注册表脚本文件的格式。
图22-1导出注册表文件图22-2通过快捷菜单编辑该.Reg文件可以通过记事本或其它文本编辑器打开并进行编辑,比如右击某个.Reg文件,在右键菜单中会出现图22-2所示的菜单。
在右键快捷菜单中,选择“编辑”命令就可以打开默认的脚本编辑软件(在Windows中都是记事本)来对脚本进行编辑,当然我们也可以选择其它的文本编辑软件来进行脚本编辑,不过需要在“资源管理器”的“工具→文件夹选项”来设置。
打开“文件夹选项”窗口,选择“文件类型”选项,在其中找到“REG 注册表项”,再单击“高级”按钮,进入图22-3所示的窗口。
图22-3修改REG文件默认设置项目图22-4编辑REG文件类型的操作双击“edit”或选择“编辑”按钮就可以对打开该文件对应的应用程序进行修改,我们可以通过“浏览”按钮来选择其它关联应用程序,如图22-4所示,比如用于编辑.Reg文件默认的是程序(记事本),这里我们就可以在“用于执行操作的应用程序”中更改。
当注册表或系统出现问题的时候,就可以通过注册表的导入功能将.Reg文件导入注册表,这样可以实现恢复注册表的目的。
或者,直接运行.Reg文件安装到注册表中去,之后会弹出安装提示框,如图22-5所示,选择“是”按钮就可以将这些内容添加到注册表中。
图22-5安装.Reg文件说了这么多,那么到底什么是注册表脚本呢?其实就是上面我们反复提到的.Reg文件,简单地讲,注册表脚本就是以.Reg为扩展名的可以对注册表进行操作的脚本文件。
我们可以利用该.Reg文件直接对注册表进行各种修改操作,而且对注册表的操作不会受到注册表编辑器被锁定或禁用的限制。
如何编写注册表脚本?首先我们得了解一下注册表文件的格式,跟其它一些脚本语言一样,注册表脚本在编写的时候需要遵循一定的格式,如果格式不正确,在使用这些脚本的时候会出现一些意想不到的问题。
要遵循的格式是指我们在修改或自己创建一个注册表脚本文件的时候应该注意的问题。
当然如果是用注册表编辑器(Regedit)导出的.Reg脚本文件是没有任何格式问题的。
下面让我们来看一段注册表脚本文件:-----------------------------------------------------------REGEDIT4;一个注册表脚本文件[HKEY_LOCAL_MACHINE\SOFTWARE\ACD Systems\ACDSee\50]@="默认值""CompanyID"="""LicenseNumber"="581 076 451 038 881 441""UserName"="User007"-----------------------------------------------------------在上面的脚本文件中,第一行的“REGEDIT4”是用来标明注册表脚本文件的文件格式类型,是必须的部分,该格式可以广泛应用于Windows 9X/.NT4/2000/XP中;另外有一种名为“Windows Registry Editor Version 5.00”的文件格式,它仅被用于Windows 2000和Windows XP中。
这里建议大家使用REGEDIT4格式。
在REGEDIT4之后的部分就是注册表脚本文件的正文部分。
第二行是一个空行,这个空行是可以有也可以没有的,即是可选项。
空一行可以让你的注册表脚本文件看上去有条理一点。
第三行是注释部分,使用分号(;)开头,后面可以加上注释的内容,以此来增强该脚本文件的可读性,该注释部分也是可有可无的。
第四行标明的是操作的注册表主键或子键(全路径),这里必须用方括号“[]”括起来,比如上例中的“[HKEY_LOCAL_MACHINE\SOFTWARE\ACD Systems\ACDSee\50]”。
第五行是注册表脚本文件的核心部分,该部分可以对注册表的各种数据进行设置,使用格式如:"数值名称"="数值数据",数值名称表示的是键名,注意的是必须用双引号("")括起来,而数值数据表示的是对应的数值。
对于默认值、字符串值、二进制值和DWORD值设置的方法也不尽相同:默认值:@="默认值",在注册表中每一个子键中都会有一个默认键值项,如@=""就表示该默认键值为空,如果不使用@=""就表示该默认键值为“(未设置键值)”。
字符串值:"数值名称"="数值数据",数值名称表示的是键名,数值数据表示的是字符串对应的值,例如:"UserName"="User007"。
需要注意的是数值名称和数值数据必须用双引号("")括起来。
二进制值:"数值名称"=数据类型:数值,数据名称必须用双引号括起来,而后面的数值则不需要。
数据类型以hex:开头,以区别字符串、DWORD值。
数值是以十六进制的数字来标识的,即1、2、3……A、B、C、D、E、F。
数值的大小可以是无穷大的。
DWORD值:"数值名称"=数据类型:数值,同样数据名称必须用双引号括起来,数据类型以DWORD 开头,数值是8位的十六进制数字。
最后一行也是一个空行,我们在编辑.Reg脚本文件的时候在最后一行一定要回车换行,否则的话,最后一行将不会被处理。
在熟悉了注册表脚本文件的格式后,我们就可以通过记事本或其它文本编辑器来编写注册表脚本文件了。
比如我们使用记事本来编写脚本文件,需注意的是在保存的时候,要在“文件名”中输入该脚本文件的全名称(包括扩展名.reg),在保存类型中选择“所有文件”即可。
注册表脚本应用实例22.1.1 实例一:登录Windows时显示消息文字在Windows XP中,我们可以通过“组策略”的设置来自定义登录时的消息文字和消息标题:打开组策略,在“计算机配置→Windows设置→安全设置→本地策略→安全选项”中,我们会看到“交互式登录:用户试图登录时消息标题”和“交互式登录:用户试图登录时消息文字”项目,双击它们(或右击选择属性命令)就可以添加相关的内容,如图22-6所示。
图22-6在“组策略”中自定义登录消息窗口这样在下一次登录计算机前就会弹出这个消息框,向使用你计算机的人发出提示信息。
其实组策略也是通过对注册表的修改来完成相应的功能。
这里的“用户登录的消息标题”和“用户登录时的消息文字”分别对应的是“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system”中的:“legalnoticecaption”和“legalnoticetext”。
其实我们也可以通过注册表脚本文件(命名为)来定义这些内容。
具体的脚本内容如下:-----------------------------------------------------------REGEDIT4;自定义登录计算机的消息文字[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system] ;定义消息框的标题栏"legalnoticecaption"="警告";定义消息框的文本内容"legalnoticetext"="欢迎使用User007的电脑!别忘了关机!"-----------------------------------------------------------其实在Windows XP中,在“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon”子键下操作,所达到的效果是一样的,在这个两个子键下都有“legalnoticecaption”和“legalnoticetext”项。
22.1.2 实例二:修改Windows的常用设置选项在Windows XP中,通过注册表脚本文件我们可以对Windows的一些常用设置选项进行修改,比如让菜单弹出的延迟速度更短,让窗口最小化时的动画“消失”,让“开始”菜单中的“图片收藏”、“我的音乐”、“网上邻居”和“帮助和支持”项“消失”。
下面将要介绍的脚本就是这方面的内容,如图22-7所示的就是修改前的效果。
图22-7修改前的开始菜单下面就是一段可以实现上述效果的注册表脚本文件,命名为。
-----------------------------------------------------------REGEDIT4;修改Windows的常用设置选项[HKEY_CURRENT_USER\Control Panel\desktop];修改菜单弹出延迟速度"MenuShowdelay"="0";修改强行关闭程序的时间延迟"HungAppTimeout"="1500""WaitToKillAppTimeout"="2000"[HKEY_CURRENT_USER\Control Panel\desktop\windowmetrics];屏蔽窗口最小化时的动画效果"MinAnimate"="0"[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer];禁止在开始菜单中出现“图片收藏”项"NoSMMyPictures"=dword:00000001;禁止在开始菜单中出现“我的音乐”项"NoStartMenuMyMusic"=dword:00000001;禁止在开始菜单中出现“网上邻居”项"NoStartMenuNetworkPlaces"=dword:00000001;禁止在开始菜单中出现“帮助和支持”项"NoSMHelp"=dword:00000001-----------------------------------------------------------运行该脚本文件后,注销或重启计算机后,你会发现“开始”菜单变成了这个样子了(如图22-8所示)。