您的位置 首页 > u盘教程

win10错误写入注册表键_错误写入注册表键regsetvalueex失败代码5怎么解决

1.NSIS脚本 请高手帮一下:比如我有一文件夹里有一个XXX.DLL .要写入注册表.代码怎么写

2.求在VB中修改注册表的代码

3.RegSetValueEx的用法

4.VB注册表写入问题。高分

5.关于注册表

win10错误写入注册表键_错误写入注册表键regsetvalueex失败代码5怎么解决

取消 注册表保护 360

取消 主页锁定 解锁 360

取消 主页锁定

取消 主页锁定

取消 主页锁定

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main

设置注册表 完全控制 在去安装 即可

NSIS脚本 请高手帮一下:比如我有一文件夹里有一个XXX.DLL .要写入注册表.代码怎么写

一是检查够不够权限。

二是检查RegCreateKey等api的返回值。

三是如果为32位程序,注册表会定向到HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\...

求在VB中修改注册表的代码

不知道你说的是不是注册 DLL,也就是 Windows 中的 regsvr32。对于这种注册文件的命令既可以用 regsvr32 也可以用 NSIS 内置的 RegDLL 命令:

#安装:

SetOutPath $INSTDIR

File xxx.dll

ExecWait `regsvr32 /s "$INSTDIR\xxx.dll"`

#或 RegDLL "$INSTDIR\xxx.dll"

#卸载:

ExecWait `regsvr32 /s /u "$INSTDIR\xxx.dll"`

#或 UnRegDLL "$INSTDIR\xxx.dll"

RegSetValueEx的用法

Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

'创建

r = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", keyhand)

'修改

r = RegSetValueEx(keyhand, "sysin", 0, REG_SZ, ByVal regfpath, Len(regfpath))

r = RegCloseKey(keyhand)

VB注册表写入问题。高分

我给你一个我自己写的例子:

建一个模块写声明:

Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

Public Const HKEY_USERS = &H80000003

Public Const REG_DWORD = 4 ' 32-bit number

然后就可以在窗体的代码中写

说明:Fh是随便定的变量接一下函数返回值

Fh = RegOpenKey(HKEY_USERS, ".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoNetHood", Bjb)'Bjb是打开注册表的句柄

Fh = RegSetValueEx(Bjb, "这个值你没给", 0, REG_DWORD , 1, 4)

Fh = RegCloseKey(Bjb)

其中你少给了一个值是项的名,前面有一个完整的注册表路径。我不知道你要在这个路径下给哪个名字后面写上RG_WORD类型的1。那个名字写在那个地方就可以了。

另外告诉你一个我绕弯路才知道的小技巧,往注册表里写值和单字符的时候可以这样写,但是网注册表里写字符串的时候。。一定要在前面加ByVal,如果不加的话就只认第一个字符。

如:最常用的让一个程序开机自动运行。

摘自我的一个程序中的一段。。。

Private Sub RunX()

Fh8 = RegOpenKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", Bjb)

Fh8 = RegSetValueEx(Bjb, "Shouhu.exe", 0, 1, ByVal (Main.Text5.Text), Len(Main.Text5.Text))

Fh8 = RegCloseKey(Bjb)

End Sub

关于注册表

在VB中,注册表的读写,可以用自身的SeSetting、GetSetting函数,但它们读写注册表的位置有限;也可以使用API函数来实现注册表任意位置的读写,但使用起来又比较麻烦。其实,利用微软提供的Windows Script Host对象来操作注册表简单且方便得多。

要在程序中使用该对象,先要通过“工程引用”菜单项,把“Windows Script Host Object Modle”一项引用到工程中。如果没有,说明没有安装。可通过下面的方法安装:我的电脑→控制面板→添加/删除程序→安装WINDOWS→附件→Windows scripting host→确定。然后创建注册表操作对象变量WSH,代码为:Set WSH = CreateObject("WScript.Shell")。这样,就可以读写注册表了,其方法、格式和功能描述如下:

1、增加键值:WSH.regWrite "注册表完整路径键值名",键值,"键值类型"

注:regWrite方法的键值类型常用的有:REG_BINARY(新建或写入二进制值)、REG_DWORD(新建或写入DWORD值)、REG_SZ(新建或写入字符串值)。

2、获取键值:Ret=WSH.RegRead("注册表完整路径键值名")

注:RegRead方法的返回赋给变量Ret。

3、删除键值:WSH.RegDelete "注册表完整路径键值名"

注:RegDelete方法删除一个不存在的键值时要出错,防错方法参见以下代码。

4、弹出消息:WSH.Popup "消息内容" 注:Popup方法和MsgBox的功能差不多,但比MsgBox的功能弱。下面看看注册表操作的实例:

创建注册表操作变量

Dim WSH

Set WSH = CreateObject("WScript.Shell") 禁用注册表编辑器

WSH.regWrite "HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem

DisableRegistryTools", 1, "REG_DWORD" '

注:如果写入的值1改为0,可解除对注册表编辑器的禁用。查看注册表编辑器是否可用

ret = WSH.RegRead("HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem

DisableRegistryTools") If ret = 1 Then WSH.Popup "注册表编辑器被禁用!"

Else WSH.Popup "可以使用注册表编辑器!"

End If 让程序自动运行

WSH.regWrite "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun" + MyName, MyName, "REG_SZ" '

注:MyName是自动运行程序的文件名(含完整路径)

可以看出,微软提供的这个对象对注册表的操作功能并不弱,著名的“I Love You”,就是利用该对象操作注册表使自己附身在Windows中。除此之外,还可以用该对象来获取系统的一些殊文件夹和环境参数,如:WSH.SpecialFolders("Desktop")可返回桌面文件夹名称;又如:For Each Info In WSH.Environment("rocess"): List1.AddItem Info: Next三行代码可取得系统的环境参数。程序代码在Win98+Vb6环境下调试通过。

对各位初学计算机的朋友,若想从“菜鸟”茁壮成长为一只“老鸟”,要学的东西真是太多了。比如说吧,要想玩转微软的窗子,就不能不了解注册表这东东。

注册表实际上是Win98的中心数据库,其中包含了Win98系统和用户程序的各种所需数据及各项配置。它替代了Win3.x时代的Autoexec.bat、Config.sys、System.ini、Win.ini和Reg.dat等系统配置文件。其中Reg.dat是Win3.x中的注册表,我们可以用Regedit.exe程序来打开它。当然,它远没有Win98的注册表强大,稳定。

Win98的这个中心数据库主要由两个文件组成:System.dat和User.dat。如果你在系统中安装了“系统策略编辑器”,它还应当包括Config.pol。这三个文件都是系统、隐含、只读属性。其中,System.dat类似于Win3.x中的System.ini。保存有微机的系统信息,如硬件设备配置和设备驱动程序的有关信息等等。它必须放在Windows子目录下。User.dat相当于Win3.x中的Win.ini。保存有用户特征信息,如桌面设置、墙纸或窗口的颜色设置等。这个文件一般放在Windows子目录下。当在网络环境下使用Win98时,则必须放在网络服务器上。Config.pol主要用于网络用户管理,系统据以对网络用户的操作作一些限制。以上三个文件在系统中会自动得到备份。自备份文件分别为:System.da0、User.da0、Config.po0。当注册表主文件被破坏后,可以从这几个备份文件中得到恢复。

在注册表中,所有的数据都是通过树状层次结构加以组织,类似于硬盘中的文件结构。你只需打开注册表编辑器就能一目了然。在“运行”对话框中输入RegEdit,确定,就能打开注册表编辑器了。在编辑器的左窗格中显示的就是注册表的“根键”。这样的“根键”共六个(HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_CONFIG、HKEY_DYN_DATA)。它们都是由大写字母和下划线组成,并都以HKEY_为前缀。你可以打开每个根键前的+号,进入到根键下的子键当中,打开各级子键前的+号,便能进入到更下一级的子键当中。每个根键下都有数量众多的子键和键值。这时常将初识注册表的朋友弄得昏头转向。在六个主键中,HKEY_LOCAL_MACHINE是包含信息量最多的。该主键包含了计算机硬件和软件的全部信息。当系统的配置和设置发生变化时,本关键字下面的登录项也将随之改变。在此主键之下,包括了另两个主键(HKEY_CLASSES_ROOT、HKEY_CURRENT_CONFIG)中的全部信息。实际上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT, HKEY_LOCAL _MACHINE\Config就是HKEY_CURRENT_CONFIG。与此类似,HKEY_CURRENT_USER也仅是HKEY_USER中的一部份信息,一般情况下,这两个主关键字包含的内容是完全相同的。主键HKEY_DYN_DATA保存了系统运行的动态数据,它反映了系统的当前状态。它的许多子键信息是保存在内存当中的,即便是同一台机器,每次运行时,其内容都是不一样的。

在注册表的各级键与子键之下保存有大量的信息,这些信息都是以各种形式的键值项数据来保存的。在注册表编辑器的右窗格中,显示的就是各键值项数据,各项数据分为键值名(名称)和键值(数据)两部分。键值名是各键值项数据的标识符,而键值就是各键值项数据的具体内容了。键值分为三类。第一类为字符串值,它一般用于描述文件或各类标识。通常由字母和数字组成,最大长度为255字符。第二类为二进制值:它的长度不受限制,在注册表编辑器中以十六进制的方式显示,如“60 60 00 00”。第三类被称为DWORD值。它是一个长度为4个字节(双字)的数值。它也是以十六进制的方式显示的。但形式与二进制值不同,数值前多了“0x”。形如“0x00000000(1)”。

注册表的维护和修复

注册表作为Win98的核心数据库,从内容到结构都是相当复杂的,且注册表本身也只是以文件形式保存。所以注册表又是比较脆弱的。若注册表存在错误或遭到破坏,轻则影响系统性能和稳定,重则不能正常访问硬件或运行软件,甚至无法启动机器或使程序与数据受到损坏。

注册表产生错误和遭到破坏的原因主要有三类:

软件方面的原因。主要是应用程序中的错误和相互之间的冲突和各类计算机引起的,另外使用了错误的驱动程序或存在驱动程序的不兼容现象也有可能引发注册表的问题。

硬件方面的原因。如硬盘、内存或其它硬件的品质不过关,造成数据读写错误,或因过度超频等情况使机器稳定性大为下降。

错误的操作。如非正常关机或掉电,用户错误地对注册表进行操作或修改。

为防止注册表损坏而影响机器的正常运行,平时应做好注册表的维护工作。Win98中自带的注册表工具有两个,一是注册表编辑器(Regedit.exe),另一个是注册表检查程序(Scanreg.exe / Scanregw.exe)。Win98在每次启动时都会为注册表做一次备份,但这并不是非常保险的。因为Win98只是在每次启动时,简单地覆盖上一次启动所作的备份,即使注册表中本巳存在错误,Win98照样使其备份。所以,你需要自己对注册表作好备份。在注册表编辑器(Regedit.exe)中选中“注册表”菜单,然后选“导出注册表文件”子菜单,选好保存的文件名和目录就可以了。今后如遇到注册表的麻烦,只需要轻松地“引入注册表文件”就解决了。另外,注册表编辑器在导出注册表时还能修复注册表中的一些简单的错误,并能去掉一些无用的分枝,让注册表减减肥。使用注册表编辑器还能方便地对注册表中的内容进行修改。关于修改,有兴趣的朋友可留意《电脑报》中的相关文章。备份注册表还可以用Scanreg.exe来进行。方法是在运行对话框中输入Scanreg,确定。Scanreg.exe首先会检查注册表是否有错。如果有,它将提示用户进行修复。如果没有,则提示用户是否备份当前注册表。Regedit和Scanreg还能在DOS坏境下运行。如:在DOS提示符下输入

Regedit/E Myreg.reg 将注册表导出到Myreg.reg中了。

Regedit Myreg.reg 将备份文件引入到注册表中。

Regedit/C Myreg.reg 根据Myreg.reg创建注册表数据库。

Scanreg /Backup 将注册表备份到.CAB文件中。

Scanreg /Restore 恢复注册表。

Scanreg /Fix 修复注册表。

Win98自带的这两个注册表工具的功能并不是很强。为加强对注册表的管理和维护,还可以使用各类第三方的注册表工具软件。在《电脑报》第6期上对这些工具,有详细的介绍,各位有举的朋友可认真看看。

如果注册表巳经存在错误和损坏。那又当如何呢?

首先,如你巳作了注册表的备份,只需简单地引入就可以了。要是没有作的话,可能就要麻烦些了。

如果损坏得不是很严重,可重新启动机器进入安全模式,此时系统可自动地修复注册表的问题。另外,还可将System.dat和 User.dat改名或移往其它目录。使Win98在下次启动时因找不到此两文件,而将自备份文件System.da0和User.da0改回System.dat与 User.dat。以使机器恢复到上一次正常运行时的状态。

如果注册表损坏较重,或因出现故障后启动了多次,使自备份文件中保存的为不正确的注册表信息。就不能用以上方法了。可在机器启动时,按F8键调出启动菜单,选中第6项“Safe mode command prompt only”进入安全DOS模式。执行如下命令:

regedit /l:c:\windows\system.dat /e c:\system.txt 导出System.dat至System.txt中

cd\windows 进入Win98所在目录

attrib -s -h -r system.dat 去掉System.dat系统、隐含、只读属性

ren system.dat system.old 将当前的System.dat文件改名

regedit /l:c:\windows\system.dat /c c:\system.txt 重新创建system.dat文件

regedit /r:c:\windows\user.dat /e c:\user.txt 导出User.dat 至User.txt中

cd\windows 进入Win98所在目录

attrib -s -h -r user.dat 去掉User.dat的系统、隐含、只读属性

ren user.dat user.old 将当前的User.dat文件改名

regedit /r:c:\windows\user.dat /c c:\user.txt 重新创建User.dat文件

如果重启动系统后,系统仍然存在问题,我们就只能用System..1st来对注册表进行恢复了。System.1st是Win98在安装后第一次正常运行时将系统信息保存在C盘根目录下的。它也是一个系统、隐藏、只读文件。我们可在DOS提示符下输入如下命令:

cd\windows 进入Win98所在目录

attrib -s -h -r system.dat 去掉System.dat系统、隐含、只读属性

ren system.dat system.old 将当前的System.dat文件改名

cd \ 回到根目录

attrib -s -h -r system.1st 去掉System.1st系统、隐含、只读属性

copy system.lst c:\windows\system.dat 用system.lst覆盖system.dat

attrib +s +h +r system.lst 恢复属性

attrib +s +h +r c:\windows\system.dat 恢复属性

使用此方法是最为保守的方法。它只能使机器恢复到系统初装时的状态,系统中所安装的各类软件几乎都需要重装。

在实际应用中,当Win98的注册表遭到较重破坏后,即使能够修复,效果可能也并不太好,此时重新安装系统也许是更好的选择。所以平时应着重做好系统的维护工作,并即时备份好注册表。你可以在Win98初装时,先安装好那些你常用的,且较大的软件,然后做好注册表的备份(我就是先在机器是装入Office、Visual Studio这些大玩艺和Norton Utilites等常用工具后进行备份的)。在平时运行时,你应当使用一些工具,如Norton、Regclean等等,时常对你的注册表进行必要的查错、减肥等各项维护。你还能够结合使用一些DLL程序的清理工具(如Clean System)对你的系统进行维护,使你的系统常期保持在健康、稳定状态,以避免频繁重装系统的麻烦

修改注册表设置系统安全性

Windkows的注册表是管理整个操作系统的核心所在,通过编程或手工修改注册表的有关设置可对系统安全性进行有效控制。目前许多有关系统安全保护的工具软件便是以这种方式来实现的。根据笔者的一些实际体会,现就有关Windows注册表中涉及系统安全性的常用键介绍如下:

预备动作:在WINDOWS开始菜单中选择“运行”后,再在弹出的窗口中输入“redegit”,按确认键进入注册表编辑器。

1、 基本原理

1、进入如下路径:

HKEY_CURRENT_USER\

Software\

Microsoft\

Windows\

CurrentVersion\

Policies\

后,在“Explorer”键值下新建下列DWORD值:

NoDesktop 隐藏桌面上的所有图标(=1时为有效)

NoDrivers 隐藏驱动器(DWORD值的低26个bit从低到高

分别对应A-Z驱动器,各bit位=1时为有效)

NoFind 隐藏开始菜单中的“查找”项(=1时为有效)

NoRun 隐藏开始菜单中的“运行”项(=1时为有效)

NoNetHood 隐藏桌面的“网上邻居”图标(=1时为有效)

NoSetTaskbar 禁止开始菜单的“设置”项中设置“任务栏和开

始菜单”(=1时为有效)

NoSetFolder 禁止开始菜单的“设置”项中设置“文件夹选项”

(=1时为有效)

NoViewContextMenu 隐藏在桌面空白处右击鼠标时弹出的上下文菜单

(=1时为有效)

NoStartBanner 隐藏WINDOWS启动时出现在任务栏的箭头标

示和“单击此处开始”字样

NoTrayContextMenu 隐藏任务栏上按右键时弹出的菜单(=1时为有

效)

NoFileMenu

NoEntireNetwork 隐藏“网上邻居”中的“整个网络”(=1时为有

效)

NoCommonGroups

NoClose 隐藏开始菜单中的“关闭系统”项(=1时为有

效)

NoSeSetting 退出前不保存设置(=1时为有效)

2、进入

HKEY_CURRENT_USER\

Software\

Microsoft\

Windows\

CurrentVersion\

Policies\

后,在子键“System”下新建以下DWORD值(=1时为有效)

DisableRegistryTools 禁止编辑注册表编辑器

NoDispAppearancePage 隐藏显示属性中的“外观”属性页

NoDispBackgroundPage 隐藏显示属性中的“背景”属性页

NoDispCPL 禁止设置显示属性

NoDispScrSPage 隐藏显示属性中的“屏幕保护”属性页

NoDispSettingsPage 隐藏显示属性中的“设置”属性页

3、进入

HKEY_CURRENT_USER\

Software\

Microsoft\

Windows\

CurrentVersion\

Policies\

后,在子键“Network”下新建以下DWORD值(=1时为有效)

NoWorkgroupContents 隐藏“网上邻居”中的工作站显示

NoEntireNetwork 隐藏“网上邻居”中的整个网络显示

NoFileSharingControl 禁止文件共享

NoPrintSharingControl 禁止打印机共享

4、进入

HKEY_CURRENT_USER\

Software\

Microsoft\

Windows\

CurrentVersion\

Policies\

后,新建主键“WinOldApp” 后,在该子键下新建DWORD值(=1时为有效)

Disable 禁止使用MS-DOS模式

NoRealMode 禁止使用单一模式的MS-DOS

5、锁定“我的电脑”、“我的文档”、“回收站”、“控制面板”等。

A、锁定我的电脑

进入HKEY_CLASSES_ROOT

\CLSID

\{20D04FE0-3AEA-1069-A2D8-08002B30309D}

\InProcServer32

后,在“默认”串值后加上“-”符号,例如原值若为 ‘shell32.dll’ 则修改为 ‘shell32.dll-’

B、同理可锁定

我的文档 :{450D8FBA-AD25-11D0-98A8-0800361B1103}

控制面板: {21EC2020-3AEA-1069-A2DD-08002B30309D}

回收站: {645FF040-5081-101B-9F08-00AA002F954E}

6、限制运行Windows应用程序

进入HKEY_CURRENT_USER

\Software

\Microsoft

\Windows

\CurrentVersion

\Policies

\Explorer

\RestrictRun

后,在该子键下新建串值,串值从“1”开始命名,串值为能运行的应用程序路径名。如:

名称 数据

1 “c:\windows\myprogram1”

2 “d:\….\myprogram2”

该限制启动后,只有在RestrictRun列表内的程序能够运行,请保证Systray.exe程序包含在列表中。

2、 编程实现

一般来讲,最好用编程的方法来修改注册表而不是手工,因为手工操作容易造成失误使系统的损坏,不过建议在对注册表进行任何形式的操作前先将其进行备份以防万一。

对注册表操作的函数有许多,其中实现以上设置修改的主要有:

1、RegOpenKeyEx( ) 打开指定的关键字(32位Windows)

2、RegSetValueEx( ) 在打开的注册表关键字的值域中存储数据。它可以设置另加的

值和类型信息到指定的关键字中

3、RegCloseKey( ) 释放指定关键字的句柄

修改注册表使电脑更安全

对于个人用户在家里使用计算机,这样的安全控制有时是没有必要的,但对于网吧,公共机房的管理者和使用者了解这些安全控制还是很有用的,使你可以轻松简单的控制你的计算机,也大大的减少了你的维护工作。

禁用使用注册表编辑器Regedit

注册表对于很多用户来说是很危险的,尤其是初学者,为了安全,最好还是禁止注册表编辑器regedit.exe运行,在公共机房更加重要,不然你的机器一不小心就被改得一塌糊涂了。

打开注册表到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System,如果你发现Policies下面没有System主键,则请在它下面新建一个主键,取名System,然后在右边空白处新建一个DWORD串值,名字取为DisableRegistryTools,把它的值修改它的值为1,这样修改以后,使用这个计算机的人都无法再运行regedit.exe来修改注册表了,当然也包括你自己了,如果要恢复的话,请把下面的这段代码存为一个REG.REG文件,然后重新启动:

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]

"DisableRegistryTools"=dword:00000000

隐藏和禁止使用“控制面板”

控制面板是Windows系统的控制中心,可以对设备属性,文件系统,安全口令等很多系统很关键的东西进行修改,你当然需要防范这些了。

打开\\HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\System\中新建DWORD值NoDispCPL,把值修改为1(十六进制)即可。

禁止使用任何程序

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,在右边的窗口中新建一个DWORD串值:“RestrictRun”,把它的值设为“1”。这样我们就能做到禁止在Windows98中运行任何程序。

修改注册表只允许用户使用由你指定的程序

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,在右边的窗口中新建一个DWORD串值:“RestrictRun”,把它的值设为“1”。然后在RestrictRun的主键下分别添加名为“1”、“2”、“3”等字符串值,然后将“1”,“2”、“3”等字符串的值设置为你允许用户使用的程序名。例如将“1”、“2”、“3”分别设置为word.EXE、notepad.EXE、empires.EXE,则用户只能使用word、写字板、帝国时代了,这样你的系统将会做到最大的保障,也可以限制用户运行不必要的软件了。

禁用"任务栏属性"功能

任务栏属性功能,可以方便用户对开始菜单进行修改,可以修改Windows系统的很多属性和运行的程序,这在我们看来是件很危险的事情,所以有必要禁止对它的修改。

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,在右窗格内新建一个DWORD串值"NoSetTaskBar",然后双击"NoSetTaskBar"键值,在弹出的对话框的"键值"框内输入1。

禁止修改显示属性

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System在右边的窗口中新建一个DOWRD串值:然后将“新值#1”更名为“NoDispCPL”,并将其值设为“1”就可以的了。

禁止使用“控制面版”中的“密码”图标设置功能

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,在右侧窗口中新建Dword串值,然后将“新值#1”更名为“NoSecCPL”,然后把它的值设置为1就行的了。

禁止使用“密码”下的“更改密码”标签

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,在右侧窗口新建Dword串值,然后将“新值#1”更名为“NoPwdPage”,然后把它的值设置为 1 即可。

禁止使用“密码”下的“远程管理”标签

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,在右侧窗口中新建Dword串值,然后将“新值#1”更名为“NoAdminPage”,然后把它的值设置为 1 即可。

禁止使用控制面板中的系统管理程序

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Policies\system\,在右边窗口新建DWORD串值“NoDevMgrP-age”并把它的值改为“1”就行。

禁止修改“开始”菜单

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explore,在右边的窗口中新建一个DWORD串值:“NoChangeStartMenu”,并把它的值改为“1”。

在桌面上隐藏“网上邻居”

打开HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\Explorer,在右边的窗口中新建DWORD值NoNetHood,值为1(十六进制)。

禁止屏幕保护使用密码

打开HKEY_CURRENT_USER\ControlPanel\desktop\ScreenSeUsePassword修改它的值,值为0或1,0为不设密码,1则使用预设的密码,你根据自己的需要设置就行的了。

不允许改变启动菜单

打开HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,在右边的窗口中新建一个DWORD串值“NoChangeStartMenu”,并设值为“1”即可。

禁止在“系统属性”中出现“文件系统”的菜单

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System,在右边的窗口中新建一个DWORD串值:“NoFileSysPage”,然后把它的值改为“1”即可。

禁止在“系统属性”中出现“设备管理器”的菜单

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System,在右边的窗口中新建一个DWORD串值:“NoDevMgrPage”,然后把它的值改为“1”。

禁止在“系统属性”中出现“硬件配置文件”的菜单

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System,在右边的窗口中新建一个DWORD串值:“NoConfigPage”,然后把它的值为“1”。

更改IE的安全口令

你可以在IE的"Internet选项"对话框的"内容"选项页的"分级审查"框中设置口令,这样,在显示有关的页面时,总会出现"分级审查不允许查看"的提示信息,然后弹出口令对话框,要求您输入监护人口令。如果口令不对,则将停止浏览。但是,如果你把这个口令给遗忘了,你将无法浏览这些页面。在口令遗忘后,即使你重新安装IE4.0也是无法去掉安全口令,这时你只有求助于注册表:

打开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies,在Policies子键下选择"Ratings"子键,按Del键将其删除,由于Ratings子键下的Key键值数据就是经过加密后的口令,删除了这一项,IE中的口令也就去掉了。

清除各种历史纪录

在Windows98系统中保留着使用者的各种历史纪录,其中包括最近打开的文档、程序、查找过的文件及在网络上的使用情况。在公共机房上机时,为了我们个人安全需要,我们很需要删除这些历史纪录,但一般的删除方法很不干净,这就得求助于注册表了。

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer,删除表中所示的键, 清除Windows\Recent中的内容,刷新文档菜单,这样就能去掉你的记录。下面是这个目录下的表项:

位置 注册表中位置

Documents menu RecentDocs

Run dialog RunMRU

Find Files dialog Doc Find Spec MRU

Find Computer dialog FindComputerMRU

公共机房的安全和系统稳定是很重要的,这里讲的只是最基本的保护功能,如果你要实现很好的保护,你必须求助于另外的管理软件了,这里只是为你提供一点小小的帮助。

修改注册表,完善你的系统

1.修改注册表、优化磁盘文件系统

在Windows98系统中,磁盘缓冲是动态分配的,不需要用户进行任何手工干预,用户也不需要在AUTOEXEC.BAT和CONFIG.SYS文件中装入SHARE和SMARTDRV等磁盘缓冲程序。缓冲的大小也是动态变化的。如果用户发现磁盘缓冲不能够再增加了,这说明用户使用的可能是实模式磁盘驱动程序。这时,用户最好使用一个保护模式的替代驱动程序,以提供32位的磁盘访问。

用户可以在“控制面板”的“系统属性”对话框中配置文件系统的性能,在“性能”选项页中单击“文件系统”按钮。在“计算机主要用途”列表框中,用户可以选择自己使用的计算机用途。其中“台式机”意味着计算机中具有比最小限制要多的内存数,而且系统也不是使用电池供电。“便携或接驳式系统”意味着计算机的内存数量比较小,而且使用电池供电,所有磁盘缓冲必须尽可能快地进行更新。“网络服务器”意味着计算机将作为网络中的对等式服务器提供文件和打印机共享服务,所以计算机中有足够的内存,并且需要非常频繁的磁盘读写,Windows98将整个系统按照允许大量磁盘读写进行优化。所以如果我们想提高自己机器的性能你可以加大缓冲区的设置,把你机器用途设置为“服务器”这样也能提高系统的整体性能。

这些计算机配置都会影响到注册表中的下列参数设置:

●PathCache:指定文件系统用来保存最近使用目录路径的缓冲数量。该缓冲能够减少文件系统提供文件分配表查找路径的机会,而只需要在缓冲中进行查找。对于“台式机”该参数设置为32,对于“便携或接驳式系统”是16,对于“网络服务器“是64,我们要优化系统只要把它设置为64就好。

●NameCache:该缓冲用于存放最近使用的文件名所在的位置。该缓冲和PathCache联合使用就能够使文件系统不需要从磁盘中查找缓冲文件名的位置。NameCache和Path-Cache都是使用普通系统堆之外的内存。对于“台式机”文件名缓冲设置为677个文件名(8KB),对于“便携或接驳式系统”是337个文件名(4KB),对于“网络服务器”是2729个文件名(16KB)。

●BufferIdleTimeout,BufferAgeTimeout和VolumeIdleTimeout:用来控制变化过的数据写到缓冲和写到磁盘之间的时间间隔。

●ContigFileAllocSize:当在MS-DOS文件系统中存储文件时,文件系统只要找到一个磁盘自由空间,就把数据写进去,而不管这个自由空

热门文章