当前位置:文档之家› wince注册表结构

wince注册表结构

wince注册表结构
wince注册表结构

wince注册表结构

与桌面Windows一样,Windows CE也使用注册表(Registry)来保存应用程序、驱动程序和用户的设定以及其他一些配置信息。Windows CE注册表也采用树形结构来管理配置信息,由于Windows CE注册表的结构和功能与桌面Windows几乎一样,在这里就不详细介绍了,读者可以参考其它关于注册表的资料。

Windows CE支持四个根键,描述如下:

键名描述

HKEY_LOCAL_MACHINE 硬件和驱动配置数据

HKEY_CURRENT_USER 用户配置数据

HKEY_CLASSES_ROOT OLE和文件类型匹配配置数据

HKEY_USERS 适用于所有用户的数据

由于嵌入式系统的特点,一些嵌入式设备是没有外存的。因此Windows CE的注册表提供了两种实现方式:基于RAM的注册表(RAM-Based Registry)和基于Hive的注册表(Hive-Based Registry)。我们可以选择在Windows CE中使用任何一种注册表,注册表类型对于用户和应用程序来说是透明的。

 基于RAM的注册表

正如其名,基于RAM的注册表把整个注册表作为一个对象存储堆存放在系统的内存中。这意味着如果对系统进行冷启动或者系统断电,对注册表的所有改动都会丢失。

如果使用基于RAM的注册表,对注册表的读写访问操作会变得非常高效。因此基于RAM的注册表比较适用于没有外部存储,而且有电池保存内存数据(battery-backed RAM)的设备。如果有外存且经常冷启动的设备采用基于RAM的注册表,则需要在系统断电的时候对注册表进行保存,等系统再次启动时对保存的注册表进行还原。

Windows CE提供了两种方法用来断电保存基于RAM的注册表:

1. Windows CE提供了两个系统API用来保存和还原整个注册表,它们的原形如下:

BOOL RegCopyFile(

LPCWSTR lpszFile // 保存注册表信息的文件的名字

);

BOOL RegRestoreFile(

LPCWSTR lpszFile // 保存注册表信息的文件的名字

);

如果要保存和恢复注册表,我们只需要在系统断电的时候调用RegCopyFile函数将整个注册表保存为外存上的一个文件。当系统重新启动时,我们再调用RegRestoreFile函数将文件全部读出RAM中,然后再热启动系统,我们保存得注册表就可以生效了。值得注意的是这次热启动是必须的,因为只有在系统启动的时候才会去检测RegRestoreFile放在RAM里的注册表信息。这种方法的优点是完全可以使用应用程序来实现基于RAM的注册表的保存,而且这种方法相对简单。但是此方法的缺点是需要两次启动。因此效率相对比较低。

2. 第二种方法需要OEM的参与,OEM可以在BSP的OAL层中实现WriteRegistryToOEM和ReadRegistryFromOEM两个函数,它们的声明为:

DWORD ReadRegistryFromOEM(

DWORD dwFlags, // 参数, REG_READ_BYTES_START表示读新的注册表

LPBYTE lpData, // 指向注册表数据的缓冲区,由OS分配

DWORD cbData // 缓冲区的大小

);

BOOL WriteRegistryToOEM(

DWORD dwFlags, // 参数,REG_WRITE_BYTES_START表示写新的注册表

LPBYTE lpData, // 指向注册表数据的缓冲区,由OS分配

DWORD cbData // 缓冲区的大小,0表示到达注册表尾部

);

Windows CE会在系统启动和关闭的时候调用这两个函数来保存和恢复注册表。此种方法虽然可以避免两次启动,但是困难的地方是ReadRegistryFromOEM函数的实现比较困难,因为在系统启动的时候,块设备驱动和文件系统的驱动都还没有加载,因此不能使用CreateFile,ReadFile 这样的文件系统API来实现ReadRegistryFromOEM函数,只能使用一些更底层的操作来实现。

 基于Hive的注册表

自从Windows CE 4.0之后,Windows CE提供了基于Hive的注册表。基于Hive的注册表把注册表数据存放在文件系统的文件上,这种文件被称作蜂箱Hive。这就意味着不再需要在系统断电和启动时进行保存恢复注册表操作。

Hive是注册表中的一组键,子键和值。Hive是文件系统上表现为单个文件。Windows CE中有三种Hive。

类型文件描述

Boot hive ROM中的Boot.hv HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT, HKEY_USERS中的所有数据。只在启动时使用。

System hive 由OEM决定

(通常是System.hv) HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT, HKEY_USERS中的所有数据。包含设备范围内不随着用户改变而改变的数据。

User hive User.hv HKEY_CURRENT_USER下的所有数据。包含用户特有的设置,每个用户都有一个单独的User.hv。

基于Hive的注册表适用于对于有永久存储并且需要经常冷启动的设备。我们也可以看到,基于Hive的注册表把系统数据和用户数据分开存放,这就意味着基于Hive的注册表还提供多用户支持。对于每一个用户,可以提供不同的User.hv,当用户登录时加载相应的User.hv,从而达到多用户目的。

注册表类型分为基于对象存储的注册表和基于HIVE的注册表,在制定内核的时候只能选择其中一种。从理论上讲这两种注册表都能够实现永久保存注册表数据,不过采用不同的类型会影响CE的启动顺序和启动速度,还会影响内存的使用量。我还是趋向于采用基于HIVE的注册表来实现永久保存注册表数据,这也是个发展趋势。在讲解之前先简单描述如果CE采用基于HIVE的注册表,那么在启动时怎么加载已保存的注册表数据:

1、nk.exe执行,启动filesys.exe。

2、filesys.exe加载引导HIVE,此时引导HIVE位于nk.bin解压之后的文件中。

3、filesys.exe启动device.exe,之后处于等待状态,等待device.exe将包含系统HIVE 的文件系统和存储设备的驱动程式加载完毕。而这个文件系统和存储设备的驱动程式存在于引导HIVE中。

4、device.exe加载上述所说的文件系统驱动程式和存储设备驱动程式,使之开始工作。之后device.exe处于等待状态。

5、filesys.exe被唤醒,加载并且安装系统HIVE。之后filesys.exe处于等待状态。

6、nk.exe按照系统HIVE的信息开始执行初始化工作。其中包括加载驱动程式和启动一些应用程式。其中加载驱动程式一般由device.exe执行,而启动应用程式由filesys.exe 执行。这时device.exe和filesys.exe已被唤醒。

因为引导HIVE和系统HIVE肯定有重复的地方,所以可能出现重复加载了驱动程式或

重复启动了应用程式。为此,CE允许在描述驱动程式的注册表信息中加入防止重复的标志,而应用程式能采用事件对象来防止重复启动,如device.exe。

下面讲述怎么设置基于HIVE的注册表(如果保存系统HIVE的是FAT文件系统):

1、在PB中加入"Hive-based Registry",如果是Geode平台,再加入BSP_ENABLE_FSREGHIVE环境变量。

2、打开platform.reg,找到如下信息:

; HIVE BOOT SECTION

[HKEY_LOCAL_MACHINEinitBootVars]

"SYSTEMHIVE"="Documents and Settings\system.hv"

"PROFILEDIR"="Documents and Settings"

"Start DevMgr"=dword:0

IF BSP_ENABLE_FSREGHIVE

"Start DevMgr"=dword:1

ENDIF

; END HIVE BOOT SECTION

"SYSTEMHIVE"的值为系统HIVE文件的路径。"Start DevMgr"是个布尔值,指示是否开始就执行设备管理器device.exe,按照CE帮助文件的说法,只有想把系统HIVE存储在对象存储中才在此设置为0,所以一般都要设置为1。

3、如果是多用户,能在上述的注册表位置下输入"DefaultUser"="",指定默认的用户名。如果是单用户系统,能不设置。

4、确保将包含系统HIVE的文件系统驱动程式的注册表信息和存储设备的驱动程式的注册表信息被包含在“; HIVE BOOT SECTION”和“; END HIVE BOOT SECTION”之间,在这两个语句之间的注册表数据全部属于引导HIVE。如果我们将系统HIVE文件system.hv存放在硬盘上,并采用FAT文件系统。那么就要将[HKEY_LOCAL_MACHINESystemStorageManagerFATFS]和[HKEY_LOCAL_MACHINESystemStorageManagerProfilesHDProfile]移动到“; HIVE BOOT SECTION”下。

5、在“; HIVE BOOT SECTION”和“; END HIVE BOOT SECTION”之间的所有驱动程式的注册表信息中都加入下列一个标志:

Flags"=dword:1000

这个标志是个位掩码,他能和其他已存在的"Flags"或运算。值1000表示此驱动程式只加载一次,这样device.exe就不会把当前驱动程式加载两次了。

6、在包含系统HIVE的存储设备的驱动程式的注册表信息中,加入如下标志(假设是硬盘):[HKEY_LOCAL_MACHINESystemStorageManagerProfilesHDProfile]

"MountFlags"=dword:2

这个标志表示这个存储设备包含系统HIVE文件。

按照如上所述设置后的内核就能实现永久存储注册表数据了。对于保存注册表数据的执行动作在此必须阐述清晰:

正常情况下,CE能够确保重要的注册表数据能够从内存刷到(Flush)永久存储器上。不过这并不能完全确保所有数据都能完整地保存而不丢失,所以要确保万无一失,应该主动地调用RegFlushKey函数强制将内存中的数据刷到永久存储器上。这个函数的参数只有一个,就是注册表分支。CE还增加一个注册表项(如下所示),他的作用是每当函数RegCloseKey被调用时都自动调用RegFlushKey函数。

[HKEY_LOCAL_MACHINEinitBootVars]

"RegistryFlags"=dword:1

如果CE在启动过程中发现系统HIVE出现错误,他会自动删除文件并创建一个默认的系统HIVE文件,如果出现下面的注册表项,说明发生了这种事情。

Windows CE下访问物理内存的方法

嵌入式设备与桌面PC的一个显著不同是它的应用程序中通常需要直接访问某一段物理内存,这在驱动程序中对物理内存的访问尤为重要,尤其是像ARM体系结构下,I/O端口也被映射成某一个物理内存地址。因此,与桌面版本Windows相比,Windows CE提供了相对简单的物理内存访问方式。无论是驱动程序还是应用程序都可以通过API访问某一段物理内存。Windows CE的有些函数中需要用到物理内存结构体PHYSICAL_ADDRESS,Windows CE 在ceddk.h中定义了PHYSICAL_ADDRESS,它其实是LARGE_INTEGER类型,其定义如下:

// in ceddk.h

typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS;

// in winnt.h

typedef union _LARGE_INTEGER{

struct{

DWORD LowPart;

LONG HighPart;

};

LONGLONG QuadPart;

} LARGE_INTEGER;

可见,Windows CE中用64个Bit来代表物理地址,对于大多数32位的CPU而言,只需要把它的HighPart设置为0就可以了。

如果要直接访问某一个地址的物理内存,Windows CE提供了VirtualAlloc()和VirtualCopy()函数,VirtualAlloc负责在虚拟内存空间内保留一段虚拟内存,而VirtualCopy负责把一段物理内存和虚拟内存绑定,这样,最终对物理内存的访问还是通过虚拟地址进行。它们的声明如下:// 申请虚拟内存

LPVOID VirtualAlloc(

LPVOID lpAddress, // 希望的虚拟内存起始地址

DWORD dwSize, // 以字节为单位的大小

DWORD flAllocationType, // 申请类型,分为Reserve和Commit

DWORD flProtect // 访问权限

);

// 把物理内存绑定到虚拟地址空间

BOOL VirtualCopy(

LPVOID lpvDest, // 虚拟内存的目标地址

LPVOID lpvSrc, // 物理内存地址

DWORD cbSize, // 要绑定的大小

DWORD fdwProtect // 访问权限

);

VirtualAlloc对虚拟内存的申请分为两步,保留MEM_RESERVE和提交MEM_COMMIT。其中MEM_RESERVE只是在进程的虚拟地址空间内保留一段,并不分配实际的物理内存,因此保留的虚拟内存并不能被应用程序直接使用。MEM_COMMIT阶段才真正的为虚拟内存分配物理内存。

下面的代码显示了如何使用VirtualAlloc和VirtualCopy来访问物理内存。因为VirtualCopy 负责把一段物理内存和虚拟内存绑定,所以VirtualAlloc的时候只需要对内存保留,没有必要提交。

FpDriverGlobals =

(PDRIVER_GLOBALS) VirtualAlloc(

0,

DRIVER_GLOBALS_PHYSICAL_MEMORY_SIZE,

MEM_RESERVE,

PAGE_NOACCESS);

if (FpDriverGlobals == NULL) {

ERRORMSG(DRIVER_ERROR_MSG, (TEXT(" VirtualAlloc failed!\r\n"))); return;

}

else {

if (!VirtualCopy(

(PVOID)FpDriverGlobals,

(PVOID)(DRIVER_GLOBALS_PHYSICAL_MEMORY_START),

DRIVER_GLOBALS_PHYSICAL_MEMORY_SIZE,

(PAGE_READWRITE | PAGE_NOCACHE))) {

ERRORMSG(DRIVER_ERROR_MSG, (TEXT("VirtualCopy failed!\r\n"))); return;

}

}

CEDDK还提供了函数MmMapIoSpace用来把一段物理内存直接映射到虚拟内存。此函数的原形如下:

PVOID MmMapIoSpace(

PHYSICAL_ADDRESS PhysicalAddress, // 起始物理地址

ULONG NumberOfBytes, // 要映射的字节数

BOOLEAN CacheEnable // 是否缓存

);

其实,MmMapIoSpace函数内部也是调用VirtualAlloc和VirtualCopy函数来实现物理地址到虚拟地址的映射的。MmMapIoSpace函数的原代码是公开的,我们可以

从%_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\CEDDK\DDK_MAP\ddk_ma p.c得到。从MmMapIoSpace的实现我们也可以看出VirtualAlloc和VirtualCopy的用法:

PVOID MmMapIoSpace (

IN PHYSICAL_ADDRESS PhysicalAddress,

IN ULONG NumberOfBytes,

IN BOOLEAN CacheEnable

)

{

PVOID pVirtualAddress; ULONGLONG SourcePhys;

ULONG SourceSize; BOOL bSuccess;

SourcePhys = PhysicalAddress.QuadPart & ~(PAGE_SIZE - 1);

SourceSize = NumberOfBytes + (PhysicalAddress.LowPart & (PAGE_SIZE - 1));

pVirtualAddress = VirtualAlloc(0, SourceSize, MEM_RESERVE,

PAGE_NOACCESS);

if (pVirtualAddress != NULL)

{

bSuccess = VirtualCopy(

pVirtualAddress, (PVOID)(SourcePhys >> 8), SourceSize,

PAGE_PHYSICAL | PAGE_READWRITE | (CacheEnable ? 0 :

PAGE_NOCACHE));

if (bSuccess) {

(ULONG)pVirtualAddress += PhysicalAddress.LowPart & (PAGE_SIZE - 1);

}

else {

VirtualFree(pVirtualAddress, 0, MEM_RELEASE);

pVirtualAddress = NULL;

}

}

return pVirtualAddress;

}

此外,Windows CE还供了AllocPhysMem函数和FreePhysMem函数,用来申请和释放一段连续的物理内存。函数可以保证申请的物理内存是连续的,如果函数成功,会返回虚拟内存的句柄和物理内存的起始地址。这对于DMA设备尤为有用。在这里就不详细介绍了,读者可以参考Windows CE的联机文档

WINCE6.0注册表

Windows CE 6.0有4个基本的注册表键值,HKEY_CLASSES_ROOT,

HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS。其它的都是这4个注册表的子键。

我们以一个内建的串口驱动为例,它在注册表文件Platform.reg中的描述如下: 其中Prefix 和Dll项是必不可少的,Prefix代表设备文件名前缀, 与Index合用表示该设备的名称,该注册表子键的设备名称就是"COM1:",该名称可以用于CreateFile调用。Dll则是动态链接库名称。Index为设备序号。Flags为1表示系统启动时不加载,需要应用程序自己加载,为0表示该驱动在系统启动时加载。

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial]

"Prefix"="COM"

"Dll"="$(_TGTPLAT_PFX)_serial.dll"

"Flags"=dword:0

"Index"=dword:1

在%WinCE Dir%Public%Common%OAK%INC%目录下,文件cregedit.h中,定义了一个类CRegistryEdit来封装了注册表的操作。许多的硬件驱动,比如串口类,也继承了CRegistryEdit类。

还有一种方法是利用windows CE提供的API进行注册表项的操作。

方法一: 利用系统提供的注册表类CRegistryEdit

类的定义在文件regedit.h中。

在构建函数中,会取得当前注册表子键的HANDLE句柄。有3个构造函数,第一个是用全路径,调用hKey =

OpenDeviceKey(TEXT("HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\Serial"))构造,

第二个是如果已知其父注册表子键,调用RegOpenKeyEx( HKEY_LOCAL_MACHINE, TEXT("Drivers\\BuiltIn\\Serial"), 0,0,&hKey). 第三种方法是用RegCreateKeyEx().

析构函数中,调用RegCloseKey(hKey)关闭掉对注册表子键的引用。

读取注册表项可以使用Get RegValue方法,写入注册表项使用RegSetValueEx 方法。其方法的实现也是通过windows CE API,具体可以参照下一个Section。

RegGetList和RegSetList方法提供了对类型为REG_MULTI_SZ和DWORD的VALUE的读写操作。

其它类方法GetWindowInfo,GetIsrInfo,GetPciInfo获取注册表更多的信息。

方法二: 利用windows CE API

为了获取一个注册表键值,先要调用RegOpenKeyEx。以上面内建串口驱动为例,RegOpenKey( HKEY_LOCAL_MACHINE, TEXT("Drivers\\BuiltIn\\Serial"), 0, 0,

&hKey ), 其中hKey就是我们获取的该注册表子键的HANDLE句柄。接下来对注册表子键的操作就是通过hKey来实现.

有了hKey, 就可以对注册表子键的各个内容进行读写操作。如果要读去子键的Prefix, 调用函数RegQueryValueEx(hKey, TEXT("Prefix"), NULL, &lpType, &lpData, &lpcbData), lpType, lpData为Prefix返回类型和值,该例中,lpType = REG_SZ, lpData = TEXT("COM"). lpcbData当调用时,修饰限制lpData的size in bytes,返回时,为lpData 返回值的SIZE。

对应于读操作,写操作是一个相反的过程,RegSetValueEx(hKey, TEXT("Prefix"), NULL, REG_SZ, PBYTE(TEXT("TST")), wcslen(TEXT("TST"))*2). 其中要写入的项为Prefix项,类型为REG_SZ, 值为TEXT("TST"), 最后一个参数为写入值得SIZE in bytes. 注意第二个参数,如果注册表中存在该项,则改写它的值。如果没有,则新建一个注册表项。

某些情况下,我们需要删除一个注册表项,只需调用RegDeleteKey(hKey, TEXT("Index"))就可以删除Index注册表项。

要关闭一个注册表子键,只需要调用RegCloseKey(hKey)就可以完成。

总结:

关于注册表有很多更加深入的使用,如RegEnumValue. 更多有关注册表项,可以查看MSDN手册。

注册表分两种一种叫rom ,一种hive

如果注册表是固定的(每一台设备是一样的),可以在platform.reg,project.reg 还有common.reg中先设置好,然后再重新build

如果需要保存一些个性化的信息,在H/W reset后还需要恢复这些信息,而且每一台设备中注册表是不一样的,那就用mikemao(mikemao) 所说的方法,不过不是系统启动后再写一遍,而是在启动的过程中就设定注册表。一般的产品很少用这种方法的,因为要保证H/W Reset后回到出厂状态,不过我们公司的产品中就用了第二种方法,这种方法实现要复杂一点,有兴趣的话再探讨。

问题解决:

1 要把platform中得注册表设置为hive

2 再代码中保存的时候使用fulshkey()

WinCE注册表简介

在WinCE中支持两种类型的注册表:RAM-Based和HIVE-Based,默认情况下使用的是RAM-Based注册表。

1.RAM-Based注册表

RAM-Based的注册表是将所有的注册表数据存储在对象存储(object store)中,也就是存放在RAM里面。一般用在有电池备份RAM的系统上面,也就

是说,当系统掉电以后,会自动切换成电池供电,此时RAM还有供电,所以上面的数据不会丢失,这样采用RAM-Based注册表非常有效。

RAM-Based注册表多用于经常热启动(Warm Boot)的设备上面,很少用在冷启动(Co ld Boot)设备上面。

2.HIVE-Based注册表

HIVE-Based的注册表是将注册表数据存成文件,也就是存在掉电不会丢失数据的磁盘上面,HIVE注册表被分成两部分:系统Hive和用户Hive,也就是system.hv和user.hv。在一个多用户系统中,会包含多个用户Hive,不同的用户Hive(user.hv)会在该用户登陆的时候被加载,被注销的时候卸载。

实际上HIVE-Based的注册表包含三个部分,我称之为引导Hive,系统Hive和用户Hive,也就是Boot.hv,system.hv和user.hv。Boot.hv主要用于系统引导时候所需的注册表设置,这部分设置不会被保存在磁盘上面,也就是说,在系统掉电以后就会丢失。实际上,这部分应该说是属于RAM-Based注册表,由于这部分数据不需要改动,所以也就无所谓了。System.hv存放关于系统的注册表设置,user.hv存放和用户相关的注册表设置。

一般在我们编译WinCE系统的时候,Platform Builder会根据platform.reg文件中的注释标签来判断哪些注册表设置放入boot.hv中,凡是在注释标签”;HIVE BOOT SECTON”和”;END HIVE BOOT SECTION”之间的设置都会被放入boot.hv中,其他的都会放到default.hv和user.hv中。

在WinCE第一次引导的时候,所有的.hv都会被放到RAM中,WinCE系统会首先读取boot.hv进行相关引导时候的设置,然后把default.hv和user.hv放到磁盘的指定路径下面,这个路径也是在注册表中设置的,然后default.hv会被重命名为system.hv。当系统第二次启动的时候,会比较磁盘上的.hv和内存中的.hv 是否一致,如果不一致,会拷贝磁盘上面的.hv到内存中。

我们可以看出,实际上HIVE注册表在运行的时候也是放在RAM中的,这样速度比较快。启动的时候会从磁盘上读出,在用户更改注册表以后,会被保存在磁盘上,保存的时机也是可以设置的,可以选择在用户更改后立刻保存到磁盘上,也可以选择在reboot的时候保存。

WINCE注册表应用

//AUTHOR:

// no rains

//DATE:

// Tuesday 25-April -2006

//========================================= ========================================== ==================

1.让桌面不显示"我的电脑","回收站"

删除以下键值:

[HKEY_LOCAL_MACHINE\Explo rer\Deskto p]

{000214A0-0000-0000-C000-000000000046} ;"My Computer" {000214A1-0000-0000-C000-000000000046} ;Recycle Bin"

存在这两个键值的文件有:

$(_WINCEROOT)\PUBLIC\SHELL\OAK\FILES\shell.reg

$(_WINCEROOT)\PUBLIC\WCESHELLFE\OAK\FILES\wceshellfe.re g

$(_WINCEROOT)\PUBLIC\WCESHELLFE\OAK\FILES\wceshellfe88. reg

2.直接删除文件,不放回回收站

[HKEY_LOCAL_MACHINE\Explo rer]

"UseRecycleBin"=dwo rd:0 ;设置0为直接删除;设置1为放入回收站

3.修改XP皮肤的系统界面颜色

如果选择了XP SKIN,则在控制面板的"显示"选项中是无法更改一些窗口的颜色的.不过,我们倒是可以通过更改$(_WINCEROOT)\PUBLIC\COMMON\ OAK\FILES\commo n.reg文件中的XP颜色参数来达到更改窗口颜色的目的. 原XP样式的颜色参数如下:

[HKEY_LOCAL_MACHINE\SYSTEM\GWE]

"SysCo lo r"=hex:\

00,00,00,00,\

3A,6E,A5,00,\

00,00,00,00,\

00,00,00,00,\

EF,EB,DE,00,\

FF,FF,FF,00,\

00,00,00,00,\

00,00,00,00,\

00,00,00,00,\

FF,FF,FF,00,\

C0,C0,C0,00,\

C0,C0,C0,00,\

80,80,80,00,\

31,69,C6,00,\

FF,FF,FF,00,\

EF,EB,DE,00,\

AD,AA,9C,00,\

80,80,80,00,\

00,00,00,00,\

00,00,00,00,\

FF,FF,FF,00,\

73,6D,63,00,\

FF,FF,FF,00,\

00,00,00,00,\

FF,FF,E1,00,\

EF,EB,DE,00,\

00,00,00,00

代表的意思是:

0 COLOR_SCROLLBAR Co lo r o f the gray area o f a scro ll b ar.

1 COLOR_BACKGROUND Backgro und co lo r o f the deskto p w indo w.

2 COLOR_ACTIVECAPTION Co lo r o f the title bar o f an activ

e windo w.

3 COLOR_INACTIVECAPTION Co lo r o f the title bar o f an inac tive windo w.

4 COLOR_MENU Backgro und co lo r o f a menu.

5 COLOR_WINDOW Backgro und co lo r o f a windo w.

6 COLOR_WINDOWFRAME Co lo r o f a window frame.

7 COLOR_MENUTEXT Co lo r o f the text in a menu.

8 COLOR_WINDOWTEXT Co lo r o f the text in a windo w.

9 COLOR_CAPTIONTEXT Co lo r o f the text in a title bar and o f the siz e box and scro ll bar arrow box.

10 COLOR_ACTIVEBORDER Co lo r o f the bo rder o f an active windo w.

11 COLOR_INACTIVEBORDER Co lo r o f the bo rder o f an inacti ve window.

12 COLOR_APPWORKSPACE Backgro und co lo r o f multiple do c ument interface (MDI) applicatio ns.

13 COLOR_HIGHLIGHT Co lo r o f an item selected in a co ntr o l.

14 COLOR_HIGHLIGHTTEXT Co lo r o f the text of an item sele cted in a co ntro l.

15 COLOR_BTNFACE Co lo r o f the face of a butto n.

16 COLOR_BTNSHADOW Shadow co lo r o f butto ns fo r edges that face away from the light so urce.

17 COLOR_GRAYTEXT Co lo r o f shaded text. This co lo r is se t to0 if the current display driver do es not suppo rt a so lid gra y co lo r.

18 COLOR_BTNTEXT Co lo r o f the text fo r push butto ns.

19 COLOR_INACTIVECAPTIONTEXT Co lo r o f the text in the titl

e bar o

f an inactive window.

20 COLOR_BTNHIGHLIGHT Highlight co lo r o f butto ns fo r edg es that face the light so urce.

21 COLOR_3DDKSHADOW Co lo r o f the dark shadow fo r thre e-dimensio nal display elements.

22 COLOR_3DLIGHT Highlight co lo r o f three-dimensio nal di splay elements for edges that face the light so urce.

23 COLOR_INFOTEXT Co lo r o f the text fo r Too lTip co ntro l s.

24 COLOR_INFOBK Backgro und co lo r fo r T oo lTip co ntro ls.

25 COLOR_STATIC Backgro und co lo r fo r static co ntro ls and dialo g boxes. Suppo rted in Windo ws CE 2.0 and later.

26 COLOR_STATICTEXT Co lo r o f the text fo r static co ntro ls. Suppo rted in Windo ws CE 2.0and later.

27 COLOR_GRADIENTACTIVECAPTION Co lo r o f the title bar of a n active windo w that is filled with a co lo r gradient.

28 COLOR_GRADIENTINACTIVECAPTION

4.文件夹映射更改

假设我们要将"桌面"文件夹从根目录(在这里指的是RAM空间)移动到某个外部储存器"HardDisk"中,可以按如下步骤:

1.将$(_WINCEROOT)\PUBLIC\COMMON\OAK\FILES\INTLTRNS\08 04\commo n.str文件中的LOC_PATH_DESKTOP宏定义改为"\\HardDisk \\Windows\\桌面"

2.然后将所有.dat文件中关于LOC_DESKTOP_DIR的选项,全部在wind ows前添加"\HardDisk",

如:Directo ry("\Windows\LOC_DESKTOP_DIR"):-File("LOC_INTER NETEXPLORER_LNK", "\Windows\iesample.lnk")

改为:Directo ry("\HardDisk\Windows\LOC_DESKTOP_DIR"):-File(" LOC_INTERNETEXPLORER_LNK", "\Windows\iesample.lnk")即可.

如果有创建文件夹的话,也要改:

如:root:-Directo ry("\LOC_PROGRAMFILES_DIR")

改为:root:-Directo ry("HardDisk\LOC_PROGRAMFILES_DIR")

wince 注册表文件 platform.reg 详解

一、HIVE注册表功能

[HKEY_LOCAL_MACHINE\init\BootVars]

"SystemHive"="Documents and Settings\\System.hv" "ProfileDir"="Documents and Settings"

"DefaultUser"="default"

"Start DevMgr"=dword:1

"Flags"=dword:3

"RegistryFlags"=dword:1

说明:

SystemHiv

系统HIVE文件的保存路径与文件名

ProfileDir

用户配置文件保存路径

DefaultUser

默认加载的用户HIVE文件

Start DevMgr

启动时加载设备管理器

Flags

这个值替代Start DevMgr,可以在包括Start DevMgr的功能前提下提供更精确

RegistryFlags

在调用RegCloseKey函数时自动调用RegFlushKey函数,用于自动保存注册表

设备管理器会加载HKEY_LOCAL_MACHINE\Drivers\BuiltIn下的所有设备驱动

二、存储管理

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles]

"AutoMount"=dword:1

"AutoPart"=dword:0

"AutoFormat"=dword:0

"MountFlags"=dword:0

"DefaultFileSystem"="FATFS"

"PartitionDriver"="mspart.dll"

"Folder"="Mounted Volume"

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH] "DefaultFileSystem"="BINFS"

"AutoPart"=dword:1

"AutoMount"=dword:1

"PartitionDriver"="mspart.dll"

"Name"="Microsoft Flash Disk"

"Folder"="ResidentFlash"

"BootPhase"=dword:0

"AutoFormat"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\HDProfile] "Name"="IDE Hard Disk Drive"

"Folder"="Hard Disk"

"AutoMount"=dword:1

"DefaultFileSystem"="EXFAT"

"PartitionDriver"="mspart.dll"

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\HDProfile\FATFS] FATFS部分的定义

"EnableCacheWarm"=dword:0

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\HDProfile\PartitionTable] "07"=""(该值表示对于NTFS类型的分区,不加强任何文件系统)

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMMC] "Name"="SD MMC device"

"Folder"="SD Card"

该分支可以的定义如下

三、文件系统

1、Autoload设置

[HKEY_LOCAL_MACHINE\System\StorageManager\Autoload\Relfsd]

"Dll"="relfsd.dll"

"Paging"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS];总定义

"FriendlyName"="TFAT FileSystem"

"Flags"=dword:00000014

"Dll"="exfat.dll"

"CacheSize"=dword:0

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH\FATFS];详细定义"Flags"=dword:14

"FormatTfat"=dword:1

“MountAsBootable”= dword:1

"CheckForFormat"=dword:1

CheckForFormat

对于Flash Media Drivers(FMD)来说,设置这个标志位,则会调用IOCTL_HAL_QUERY_FORMAT_PARTITION这个ioctl

Flags

CacheSize

基于WinCE的嵌入式系统注册表的研究

中文摘要:

本文首先讲述了Windows CE注册表的重要性,它对整个嵌入式系统的正常运行起着关键性作用。然后又介绍了两种注册表存储方式,并着重讲述了基于HIVE的注册表。详细阐述了基于HIVE的注册表的保存数据方式及实现HIVE注册表的方法。最后给出了系统成功修改注册表的实现方法。本文的研究对其它操作系统的注册表修改也具有着借鉴意义

Sign.in

Pentru code snippet

A vota using System;

using System.Collections.Generic;

using https://www.doczj.com/doc/cc14965207.html,ponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using Microsoft.Win32;

namespace MacAddr

{

public partial class frmMain : Form

{

YFReg reg = new YFReg();

public frmMain()

{

InitializeComponent();

}

private void btnRead_Click(object sender, EventArgs e) {

txtMAC1.Text =

reg.ReadValue(YFReg.HKEY.HKEY_LOCAL_MACHINE, @"Comm\DM9CE1\Parms", "SoftwareMacAddress0");

txtMAC2.Text =

reg.ReadValue(YFReg.HKEY.HKEY_LOCAL_MACHINE, @"Comm\DM9CE1\Parms", "SoftwareMacAddress1");

txtMAC3.Text =

reg.ReadValue(YFReg.HKEY.HKEY_LOCAL_MACHINE, @"Comm\DM9CE1\Parms", "SoftwareMacAddress2");

txtMAC4.Text =

reg.ReadValue(YFReg.HKEY.HKEY_LOCAL_MACHINE, @"Comm\DM9CE1\Parms", "SoftwareMacAddress3");

txtMAC5.Text =

reg.ReadValue(YFReg.HKEY.HKEY_LOCAL_MACHINE, @"Comm\DM9CE1\Parms", "SoftwareMacAddress4");

txtMAC6.Text =

reg.ReadValue(YFReg.HKEY.HKEY_LOCAL_MACHINE,

@"Comm\DM9CE1\Parms", "SoftwareMacAddress5");

}

private void btnWrite_Click(object sender, EventArgs e) {

int intRet = 0;

intRet +=

reg.WriteValue(YFReg.HKEY.HKEY_LOCAL_MACHINE, @"Comm\DM9CE1\Parms",

"SoftwareMacAddress0",int.Parse(txtMAC1.Text), RegistryValueKind.DWord);

intRet +=

reg.WriteValue(YFReg.HKEY.HKEY_LOCAL_MACHINE, @"Comm\DM9CE1\Parms", "SoftwareMacAddress1",

int.Parse(txtMAC2.Text), RegistryValueKind.DWord);

intRet +=

reg.WriteValue(YFReg.HKEY.HKEY_LOCAL_MACHINE, @"Comm\DM9CE1\Parms", "SoftwareMacAddress2",

int.Parse(txtMAC3.Text), RegistryValueKind.DWord);

intRet +=

reg.WriteValue(YFReg.HKEY.HKEY_LOCAL_MACHINE, @"Comm\DM9CE1\Parms", "SoftwareMacAddress3",

int.Parse(txtMAC4.Text), RegistryValueKind.DWord);

intRet +=

reg.WriteValue(YFReg.HKEY.HKEY_LOCAL_MACHINE, @"Comm\DM9CE1\Parms", "SoftwareMacAddress4",

int.Parse(txtMAC5.Text), RegistryValueKind.DWord);

intRet +=

reg.WriteValue(YFReg.HKEY.HKEY_LOCAL_MACHINE, @"Comm\DM9CE1\Parms", "SoftwareMacAddress5",

int.Parse(txtMAC6.Text), RegistryValueKind.DWord);

if (intRet > 0)

{

MessageBox.Show("更改失败");

}

}

private void txtMAC1_GotFocus(object sender, EventArgs e) {

inputPanel1.Enabled = true;

}

private void txtMAC1_LostFocus(object sender, EventArgs e) {

inputPanel1.Enabled = false;

}

}

public class YFReg

{

public enum HKEY { HKEY_LOCAL_MACHINE = 0,

HKEY_CLASSES_ROOT = 1, HKEY_CURRENT_USER = 2,

HKEY_USERS = 3 };

private RegistryKey[] reg = new RegistryKey[4];

public YFReg()

{

reg[(int)HKEY.HKEY_LOCAL_MACHINE] =

Registry.LocalMachine;

reg[(int)HKEY.HKEY_CLASSES_ROOT] =

Registry.ClassesRoot;

reg[(int)HKEY.HKEY_CURRENT_USER] =

Registry.CurrentUser;

reg[(int)HKEY.HKEY_USERS] = https://www.doczj.com/doc/cc14965207.html,ers;

}

//读指定变量值

public string ReadValue(HKEY Root,string SubKey,string ValueName)

{

RegistryKey subKey=reg[(int)Root];

if (ValueName.Length == 0) return "[ERROR]";

try

{

常用的注册表项目编辑

二、桌面外观的修改实例 1.全面定制“开始”菜单中的图标(适用范围:Windows 9x/Me/NT/2000/XP) “开始”菜单是用户最常使用的,它里面有“程序”、“文档”、“设置”、“搜索”、“帮助”、“运行”和“关机”等几项图标,我们可以通过修改注册表来加以改变。 首先运行注册表编辑器,进入到注册表项HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ Explorer\Shell Icons。如果该注册表项不存在,则创建它。 在该注册表项下创建如下表中罗列的字符串类型的值项,并且修改它们的值为新的图标。(如图表) 重新启动计算机,“开始”菜单中的图标就全部换成了新的图标。 提示:图标可以直接使用可执行文件中的图标。例如“explorer.exe,3”,表示使用explorer.exe文件中的第4个图标。 2.增加和删除“开始”菜单中的项目 一般情况下,“开始”菜单中有“程序”、“文档”、“设置”、“搜索”、“帮助”、“运行”和“关机”这几项。通过修改注册表,我们可以将一些不常用的项

从“开始”菜单中删除。如果有特殊的目的,例如网吧中的计算机可能不想让使用者使用“开始”菜单中的“控制面板”来随意改变计算机的设置,也可以使用此方法。 下表中的值项,都位于注册表项HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Policies\Explorer中。(如图表) 3.增加和删除桌面的固定项目(适用范围:Windows 9x/Me/NT/2000/XP)一般情况下,桌面上都有“我的电脑”、“网上邻居”、“回收站”、“我的文档”等。通过修改注册表,我们可以不让这些项目显示在桌面上。这对于不希望使用者胡乱操作的场合是有用处的。例如对于网吧中的计算机,就可以将全部的桌面项目隐藏起来,以防止使用者通过“我的电脑”

注册表使用方法

一、什么是注册表啊 windows操作系统的注册表实际上是一个庞大的数据库,它包括操作系统的硬件配置、软件配置、用户环境和操作系统界面的数据信息。注册表是Windows操作系统的核心文件,它存放着各种参数,直接控制系统启动、硬件驱动程序的装载以及系统应用程序运行。注册表包括以下几部分内容。 ①软、硬件的相关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据。 ②联网电脑的整个系统的设置和各种许可信息,文件扩展名与应用程序的关联信息以及硬件部件的描述、状态和属性等信息。 ③性能记录、用户自定义设置以及其他数据信息。 注册表涵盖了软、硬件等多方面的设置信息,如果对这些设置修改得当,将会对系统本身和其中的软件进行优化。但注册表中存放着系统的所有配置信息,如果进行了错误的设置还会导致系统的瘫痪,所以不明白的键值一定不要随便修改。 二、修改注册表的作用 1、提高系统性能。通过修改注册表可以优化注册表,达到提高系统性能的目的。如加快系统启动速度及加速网上邻居访问速度。 2、增强系统安全性。如禁止修改IE主页。 3、解决系统常见故障。如解决IE窗口突然关闭的问题。 4、个性化操作系统。如在右键菜单中添加“在新窗口中打开”。 5、便于远程管理。 三、注册表编辑器的启动 启动注册表有两种方法: 1、开始—运行,输入“regedit"或者"regedt32" 2、在CMD中输入regedt32.exe,回车。 四、如果使注册表修改生效 1、重启电脑。一般情况下,如果修改与系统相关的内容,即HKEY_LOCAL_MACHINE根键下的内容,需要重新启动电脑才能生效。 2、刷新桌面。对桌面设置或效果的注册表值进行修改,系统是实时读取的,修改之后立即生效,但有时候也需要在桌面上刷新一下才能显示效果。 3、重启桌面。即按Ctrl+Alt+del,调出任务管理器,结束“Explorer.exe”,然后再

注册表的基本结构介绍

注册表的基本结构介绍 不论是WINDOWS 95/98操作系统,还是WINDOWS NT/2000操作系统,其注册表的结构大体上是基本相同的,都是一种层叠式结构的复杂数据库,由键、子键、分支、值项和缺省值几部分组成。 注册表包括以下的5个主要键项:注:Windows mobile2003操作系统只有3个主要键项,2005有1个副键项! 1.HKDY_CLASSES_ROOT:包含启动应用程序所需的全部信息,包括扩展名、应用程序与文档之间的关系、驱动程序名、DDE和OLE信息,类ID编号和应用程序与文档的图标等。 2.HKEY_CURRENT_USER:包含当前登录用户的配置信息,包括环境变量、个人程序、桌面设置等。 3.HKEY_LOCAL_MACHINE:包含本地计算机的系统信息,包括硬件和操作系统信息,如设备驱动程序,安全数据和计算机专用的各类软件设置信息。 4.HKEY_USERS:包含计算机的所有用户使用的配置数据,这些数据只有在用户登录在系统上时方能访问。这些信息告诉系统当前用户使用的图标、激活的程序组、开始菜单的内容以及颜色、字体等。 5.HKEY_CURRENT_CONFIG:存放当前硬件的配置信息,其中的信息是从HKEY_LOCAL_MACHINE 中映射出来的。 具体的说明请见如下的介绍: 一、HKEY_CLASSES_ROOT根键 HKEY_CLASSES_ROOT根键中记录的是Windows操作系统中所有数据文件的信息内容,主要记录了不同的文件的文件名后缀和与之对应的应用程序。当用户双击一个文档时,系统可以通过这些信息启动相应的应用程序。 HKEY_CLASSES_ROOT根键是由多个子键组成的,可分为两种:一种是已经注册的各类文件的扩展名,另一种是各种文件类型的有关信息。由于该根键包含的子键数目最多,下面就用Avifile子键简要介绍它下面的子键的含义: 1.CLSID子键 Avifile子键下的第一个子键是“CLSID”,即“分类标识”,在选中它时可以看到其默认的键值。Windows系统可用这个类标识号来识别相同类型的文件。在HKEY_CLASSES_ROOT主键下也有一个子键“CLSID”,其中包含了所有注册文件的类标识。 https://www.doczj.com/doc/cc14965207.html,pressors 子键

注册表键值大全

注册表键值大全 使系统没有“运行”选项 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRu n 让操作系统无“关闭系统”选项 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoCl ose 让操作系统无“注销”选项 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoLo gOff 让操作系统无逻辑驱动器C HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDr ives 让操作系统无法切换至传统DOS的实模式下 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\WinOldApp\N oRealMode 让系统登录时显示一个登录窗口,以下是写入启动弹出对话框标题 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Winlogon\Legal Noti ceCaption 写入启动弹出对话框内容 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Winlogon\Legal Noti ceText 二、对IE 相关注册表项值项的修改 设置浏览器默认主页 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\First Home Page

VB编程常用的注册表键值

VB编程常用的注册表键值 1.HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\DisableCMD 功能:禁用或启用命令提示符(CMD) 设置:0:启用CMD 1:禁用CMD 数据类型:REG_DWORD 2.HKEY_CURRENT_USER\ Software \Microsoft\ Windows \CurrentV ersion \Policies \System\DisableRegistryTools 功能:禁用或启用注册表编辑器(Regedit) 设置:0:启用注册表编辑器 1:禁用注册表编辑器 数据类型:REG_DWORD 友情提示: 在试这个之前,最好先新建一个VB工程,然后将以下代码粘贴到Form_Load()事件下,然后再试禁用注册表,如果发现运行注册表编辑器时显示注册表编辑器被禁用,就运行这个工程,当窗体出来时就可以解禁注册表管理器: Set WSHShell = CreateObject("WScript.Shell") WSHShell.regwrite " HKEY_CURRENT_USER\ Software \Microsoft\ Windows \ CurrentV ersion \ Policies \System\ DisableRegistryTools", 0, "REG_DWORD" 3.HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV ersion\Policies\System\ DisableTaskMgr 功能:禁用或启用任务管理器(TaskMgr) 设置:0:启用任务管理器 1:禁用任务管理器 数据类型:REG_DWORD 4.HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV ersion\Run 功能:Windows开机自启动路径 设置:将程序的路径加入到此路径下,保存为REG_SZ类型,就可以开机自启动 数据类型:REG_SZ 5.HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV ersion\Explorer\Advanced\Hidden 功能:是否将属性为隐藏的文件真的隐藏 设置:0:不真的隐藏(半透明显示) 1:真的隐藏 数据类型:REG_DWORD 6.HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV ersion\Explorer\Advanced\HideFileExt 功能:是否隐藏文件的拓展名

注册表基本知识

注册表基本知识 注册表是Windows XP系统存储关于计算机配置信息的数据库,包括系统运行时需要调用的运行方式的设置;软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;计算机整个系统的设置和各种许可,文件扩展名与应用系统的关联,硬件的描述、状态和属性;计算机性能记录和底层系统状态信息,以及其他各类数据。这里我们就介绍一下注册表的基本概念、结构和相关的初级知识,为读者进一步深入了解注册表做好铺垫。 1.1 注册表的由来 PC机及其操作系统得一个特点就是允许用户按照自己的要求对计算机系统的软件和硬件进行各种各样的配置。早期的图形操作系统,如Windows 3.X中,对软硬件工作环境的配置是通过对扩展名为INI的文件进行修改来完成的。Windows 3.X在启动时是通过许多初始化文件来加载16位实模式和32位虚拟模拟设备驱动程序(VxD)的。例如,要启动Window 3.X,必须有WINI.INI,SYSTEM.INI及其各种配套的INI文件。但INI文件管理起来很不方便,因为每种设备或应用程序都得有自己的INI文件,并且在网络上很难实现远程访问。早期的Window 3.X应用程序不仅自己有专门的初始化文件,而且在WIN.INI中往往还要增加一些配置项,时间长了,WIN.INI不断增大。而且WIN.INI的许多配置项一直遗留着,一般用户无法删除。随着WIN.INI的增大,Window 3.X运行速度也相应地降低。另外,WIN.INI 不能超过64KB,否则Window 3.X无法启动,或运行程序中会出现许多莫名其妙的错误。 由于INI文件的最大长度是64KB,所以是系统扩展的一个很明显的障碍。为了解决这个问题,许多开发商后来都开始向用户提供自己的INI文件,并仅在WIN.INI文件和SYSTEM.INI文件中列出指向自用INI文件的一个指针。但这种方法也有不足:INI文件会散布在系统的各个地方,而且分级访问的本质存在严重的缺陷。如果WIN.INI做了某一特殊的设置,而应用程序的INI文件又做出了另一个设置,那么究竟选择谁?如何判定一种具体的设置的优先级呢? 为了克服上述这些问题,在Windows 95及其后继版本中,采用了一种叫做“注册表”的数据库来统一进行管理,将各种信息资源集中起来并存储各种配置信息。按照这一原则,Windows 各版本中都采用了将应用程序和计算机系统全被配置信息容纳在一起的注册表,用来管理应用程序和文件的关联、硬件设备说明、状态属性,以及各种状态信息和数据等。Windows XP的注册表在结构上可以说是Windows 2000与Windows 9X/Me注册表的综合体,含有以上两种注册表的大量信息,同时也有大量最新的设置特点。 Windows XP注册表保存着操作系统正常运转所需的大部分信息。在每次启动时,系统会根据计算机关机时创建的一系列文件创建注册表,注册表一旦载入内存,就会被一直维护着。注册表实际上是一个系统参数的关系数据库,从很多方面来看,它是Windows XP计算机行为和能力的数据交换中心。注册表代表一系列数据文件,主要用于帮助Windows XP对硬件、软件、用户环境以及Windows 的“外观与感觉”进行控制。 注册表与INI文件的不同之处有如下几点: ●注册表采用了二进制形式登录数据。 ●注册表支持子项(键),各级子关键字都有自己的“值项(键值)”。

注册表编辑器使用

右键菜单:新建Excel添加:[1]注册表编辑 一个具有强大功能的WINDOWS编辑器--注册表编辑器,使用它可以改变很多想要系统的功能 工具/原料 有windows系统的电脑 方法/步骤 1. 1 点击开始菜单-》运行,如果没有直接输入regedit.exe

2. 2 点击找开注册表编辑器,找到.xls;

3. 3 如果找不到,右键点击新建,直接新建项命名为.xls 4. 4 然后新建字符串值,名称:Content Type 值:application/vnd.ms-excel

5. 5 再新建 名称:@是默认的 值:Excel.Sheet.8 6. 6 接下来,依次新建下列键值, Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.xls\Excel.Sheet.5] [HKEY_CLASSES_ROOT\.xls\Excel.Sheet.5\ShellNew] "FileName"="excel.xls" [HKEY_CLASSES_ROOT\.xls\Excel.Sheet.8] @="" [HKEY_CLASSES_ROOT\.xls\Excel.Sheet.8\ShellNew] "FileName"="excel9.xls" [HKEY_CLASSES_ROOT\.xls\ExcelWorksheet] [HKEY_CLASSES_ROOT\.xls\ExcelWorksheet\ShellNew] "FileName"="excel4.xls" [HKEY_CLASSES_ROOT\.xls\PersistentHandler] @="{98de59a0-d175-11cd-a7bd-00006b827d94}"

命令编写注册表文件修改注册表项

命令编写注册表文件修改注册表项 2009年03月29日星期日 13:28 命令编写注册表文件修改注册表项 1、何谓REG文件 REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中。利用REG文件我们可以直接对注册表进行任何修改操作,它对注册表的操作可以不受注册表编辑器被禁用的限制,因此功能更为强大、灵活,另外,由于REG文件可以用任何文本文件编辑工具(例如记事本)进行修改,因此通过它对注册表数据进行修改后,如果发生错误,还可以通过改回REG文件中的数据后再导入,从而实现恢复操作,因此它又较之直接用注册表编辑器修改更安全,所以熟练掌握REG文件的运用,有时可以起到事半功倍、意想不到的效果。 2、创建REG文件 REG文件的创建是非常简单的,可以通过任何一个文本文件编辑工具来实现。我们就以创建一个可以解除注册表禁用限制的REG文件restore.reg为例来介绍一下具体过程。 打开记事本,在记事本文件中输入以下内容: REGEDIT4 空一行 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]"DisableRegistryTools"=dword : 00000000 保存此文件,在打开的“另存为”对话框中选择好保存路径,再单击“保存类型”中的下拉箭头选择“所有文件”(一定要选择此步,不然保存后的文件会自动加上TXT的扩展名),然后在“文件名”中输入“restore.reg”后按“保存”按钮。以后你就可以通过双击这个 restore.reg来直接解除禁用注册表的限制。 3、对REG文件进行修改 我们在利用REG文件对注册表进行操作时,要操作的对象有两种:一种是对主键进行操作,一种是对主键下的键值项目进行操作。对主键的操作有添加、删除两种,而对键值项目的操作则分为添加、修改和删除三种。下面我们就一个一个来实现。 1、对主键的操作 (1)添加主键 要想利用REG文件在注册表中添加一个主键是非常方便的,只需要在文件体部分直接以“[ ]”的形式写上要添加的主键路径即可。 例如:在HKEY_LOCAL_MACHINE\Software主键下添加一个名称为“软件工作室”的主键,内容如下: REGEDIT4 空一行 [HKEY_LOCAL_MACHINE\Software\软件工作室] (2)删除主键 要用REG文件在注册表中删除一个主键,在文件体部分“[ ]”括起来的主键路径前面加上一个“-”符号即可,删除主键操作将会一并删除该主键下的所有子键及其键值项目,所以这是个比较危险的命令,使用要十分注意。例如要删除我们刚才添加的那个主键,内容如下:REGEDIT4 空一行 [-HKEY_LOCAL_MACHINE\Software\软件工作室]

利用注册表解决一些常见问题

1、问:IE浏览器的首页地址被修改,怎么办? 答:选择“开始-> 运行-> regedit”,进入注册表,来到:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main,在此项右栏找到Start Page的键值,这里面的值就是存放的IE浏览器的默认主页,如果你想改回来,把上面的相应代码改为: (" HKEY_CURRENT_USER \Software\Microsoft\Internet Explorer\Main\Start Page", "https://www.doczj.com/doc/cc14965207.html,"); 就可以实现打开IE是新疆石油学院主页了;当然你也可以不用动注册表,直接打开IE 修改Internet选项中的主页更方便些。 2、问:IE主页设置中三个按钮变灰了,不能修改,怎么办? 答:选择“开始-> 运行-> regedit”,进入注册表,来到:HKEY_CURRENT_USER\Software\Policies\Microsoft\ Internet Explorer\ControlPanel,在此项右栏找到”HomePage”主键,删除 HomePage的“1”键值,即可以恢复IE主页设置的三个按钮。 3、问:Internet选项被屏蔽了,怎么办? 答:选择“开始 -> 运行 -> regedit”,进入注册表,来到: “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer”,在此项右栏找到一个二进制值“NoFolderOptions”,并设值为“00 00 00 00”。 4、问:IE的标题栏中被修改,怎么办? 答:有两个地方要修改,选择“开始 -> 运行 -> regedit”,进入注册表,来到: HKEY_LOCAL_MACHINE\Software\Microsoft\InternetExplore\Main\,在此项右栏找到“Window Title”主键,将其键值修改, HKEY_CURRENT_USER\Software\Microsoft \InternetExplore\Main\,在此项右栏找到“Window Title”主键,将其键值修改。这两个键值都可修改为您要的标题,例如:Microsoft Internet Explorer 或 https://www.doczj.com/doc/cc14965207.html,.

WINDOWS 注册表---注册表数据结构(一)

注册表数据结构(一) 使用注册表编辑器之前,首先得了解注册表的数据结构,例如注册表的显示方式、主键与子键、键值项数据的类型等等。 注册表显示方式 在Windows系统中,注册表是采用“关键字”及其“键值”来描述登录项及其数据的。所有的关键字都是以“HKEY”作为前缀开头。实际上,“关键字”是一个句柄。这种约定使得系统及应用程序的开发人员,可以在使用注册表中的API函数时把它用于应用程序的开发中。为此,Windows提供了若干API函数,以便在开发 for Windows 应用程序时添加、修改、查询和删除注册表的登录项。 在注册表中,关键字可以分为两类:一类是由系统定义的,一般都称为“预定义关键字”;另一类是由应用程序定义的,由于安装的应用软件不同,其登录项也就不同。在Windows系统中,打开注册表编辑器,可以看到注册表中的关键字,如图: 注册表通过主关键字(最上层的为“根键”,例如下图中的HKEY_CURRENT_USERS就是一个根键,标题栏上也有显示)和子键来管理各种信息,下图中的“Keyboard Layout”是一个主键,展开后就可以看到它里面的子键。注册表中的所有信息是以各种形式的“键值项数据”保存下来,如下图中的键值项Attributes的数据为“REG_DWORD:0”。其中“REG_DWORD”是该键值的数据类型;“0”是代表该键值被赋予的数值。

在注册表的左边窗口中,所有的数据都是通过一种树状结构,以键和子键的方式组织起来,十分类似于资源管理器内的目录结构,如下图。每个键都包含有一组特定的信息,每个键的键名都是与它所包含的信息相关的(注册表内是以英文的方式出现,比如‘Control Panel’表示的是控制面板内的一些内容)。 如果这个键包含子键,则在注册表编辑器窗口的左边出现一个“+”号,用来表示在这个文件夹内还有好多内容。如果这个文件夹被用户打开了,那么“+”号就变为“-”号,与我们使用资源管理器的方法是一样的,如图:

常用注册表命令大全

常用注册表命令大全 开始菜单及相关设置》 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV ersion\Policies\Explorer] "NoRecentDocsMenu"=dword:00000001(隐藏开始->文档菜单)"NoRecentDocsHistory"=dword:00000001(禁止将打开的文档存入历史记录)"ClearRecentDocsOnExit"=dword:00000001(退出系统自动清除历史记录,包括文档、运行和查找) "NoFavoritesMenu"=dword:00000001(隐藏开始->收藏夹菜单) "NoSMHelp"=dword:00000001(隐藏开始->帮助菜单)(WIN2000/ME/XP) "NoFind"=dword:00000001(禁用查找/搜索) "NoRun"=dword:00000001(禁用运行,禁止IE访问本地资源,除非输入"桌面",禁止WIN2000/XP通过任务管理器创建新任务) "NoLogOff"=dword:00000001(禁用注销)(WIN9X) "StartMenuLogOff"=dword:00000001(禁用注销)(WIN2000/XP) "NoClose"=dword:00000001(禁用关闭系统/关闭计算机) "NoSetFolders"=dword:00000001(隐藏控制面板、打印机/网络连接,WIN2000/XP仅从开始菜单隐藏;此外还禁用WIN+E快捷键) "NoSetTaskbar"=dword:00000001(禁止设置任务栏和开始菜单)"NoFolderOptions"=dword:00000001(从开始->设置菜单和资源管理器菜单中删除文件夹选项) "NoWindowsUpdate"=dword:00000001(从开始菜单中删除Windows Update,禁止到Windows Update网站升级) "NoSetActiveDesktop"=dword:00000001(从开始->设置菜单中删除活动桌面)(WIN9X)"NoActiveDesktop"=dword:00000001(禁用活动桌面,WIN9X/2000在桌面右键菜单和显示属性里不出现相关项目) "NoActiveDesktopChanges"=dword:00000001(禁止更改活动桌面,在显示属性里不出现相关项目) 《资源管理器设置》 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV ersion\Policies\Explorer] "NoFileMenu"=dword:00000001(隐藏Explorer中的文件菜单)"NoNetConnectDisconnect"=dword:00000001(禁止使用资源管理器或网上邻居映射或断开网络驱动器) "NoWebView"=dword:00000001(禁止按Web页查看)(WIN2000/XP) 1《隐藏桌面图标》 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV ersion\Policies\Explorer] "Nodesktop"=dword:00000001(隐藏桌面所有图标) "NoNetHood"=dword:00000001(隐藏桌面网上邻居图标) "NoInternetIcon"=dword:00000001(隐藏桌面Internet Explorer图标) 2《禁止使用鼠标右键》 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV ersion\Policies\Explorer]

注册表的作用

从Windows 95开始,Microsoft在Windows中引入了注册表(英文为REGISTRY)的概念(实际上原来在Windows NT中已有此概念)。注册表是Windows 95及Windows 98 的核心数据库,表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序运行的正常与否,如果该注册表由于鞭种原因受到了破坏,轻者使Windows的启动过程出现异常,重者可能会导致整个Windows系统的完全瘫痪。因此正确地认识、修改、及时地备份以及有问题时恢复注册表,对Windows用户来说就显得非常重要了。 一、注册表的结构划分及相互关系 WINDOWS的注册表有六大根键,相当于一个硬盘被分成了六个分区。 在“运行”对话框中输入RegEdit,然后单击“确定”按钮,则可以运行注册表编辑器。 Windows 98中文版的注册表Registry(System.dat、User.dat、Config.pol)的数据组织结构。注册表的根键共六个。这些根键都是大写的,并以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_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理, HKEY_CURRENT_CONFIG\SY-STEM\Current Control就是 HKEY_LOCAL_MACHINE\SYSTEM\Current Control。 HKEY_USERS中保存了默认用户和当前登录用户的用户信息。HKEY_CURRENT_USER 中保存了当前登录用户的用户信息。 HKEY_DYN_DATA保存了系统运行时的动态数据,它反映出系统的当前状态,在每次运行时都是不一样的,即便是在同一台机器上。 根据上面的分析,注册表中的信息可以分为HKEY_LOCAL_MACHINE和HKEY_USERS 两大类,这两大类的详细内容请看后面的介绍。 二、六大根键的作用 在注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。每个键都包含了一组特定的信息,每个键的键名都是和它所包含的信息相关的。如果这个键包含子键,则在注册表编辑器窗口中代表这个键的文件夹的左边将有“+”符号,以表示在这个文件夹中有更多的内容。如果这个文件夹被用户打开了,那么这个“+”就会变成“-”。 1.HKEY_USERS

注册表编辑器及其命令行使用

regedit-注册表编辑器及其命令行使用 默认分类 2009-06-09 22:19 阅读376 评论0字号:大中小 ,Regedit.exe 和Regedt32.exe 的区别 ㈠ 1,Windows NT 3.x 2,Windows NT 4.0 和Windows 2000

3,Windows XP 和Windows Server 2003 ,关于高级用户的Windows 注册表信息 ㈡ 请参阅:https://www.doczj.com/doc/cc14965207.html,/kb/256986/?FR=1 ,使用Windows XP 注册表编辑器功能 ㈢ 1,概要 本文逐步介绍如何使用Windows XP 和Windows Server 2003 中包含的注册表编辑器中的功能,而在以前的Windows 版本中不包含这些功能。在Windows XP 及更高版本中,Regedit.exe 是操作系统中包含的唯一的注册表编辑器工具。Regedt32.exe 不再是Windows XP 或Windows Server 2003 的一部分。较低版本的Regedit.exe 中缺少Regedt32.exe 的一个主要功能,即为注册表项及其子项设置权限和其他安全设置。Windows XP 和Windows Server 2003 中包含的Regedit.exe 版本中已提供该功能。注意:如果您尝试在Windows XP 或Windows Server 2003 的“运行”对话框中启动Regedt32.exe 工具,Regedit.exe 将会启动,并且Windows 不会生成错误信息。 Windows XP 和Windows Server 2003 中包含的Regedit.exe 版本包括“权限”和“收藏夹”功能。Microsoft Windows 2000 版的Regedit 中首次引入了“收藏夹”功能。 您可以使用“收藏夹”功能将常用的注册表子项放到一个列表中,您可以从“收藏夹”菜单上访问该

注册表实用手册

一、隐藏不活动的图标历史记录清理方法 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify, 其中“IconStreams”和“PastIconStream”项中分别存储着“当前项目”和“过去的项目”,将“IconStreams”和“PastIconStream”项删除; 二、隐藏回收站 隐藏回收站,是指不会显示在桌面及资源管理器里,隐藏并不等于停止这个功能,如使用登录文件更改者请先汇出有关登录文件作备份,登录文件更改: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace ,删除{645FF040-5081-101B-9F08-00AA002F954E}。 三、关闭自动重新启动功能 当Windows XP 遇到严重问题时便会突然重新启动,按下更改可以取消此功能: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl,将[AutoReboot]dword 值更改为[0]。 四、删除共享分享及用户活页夹 除正常[我的文件]及[共享文件夹]外,每个用户都会有一个独立的活页夹,按如下设定则只会保留我的活页夹,其余的不会显示出来: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameS pace,在DelegateFolders下删除{59031a47-3f72-44a7-89c5-5595fe6b30ee}项。 五、停止“磁盘空间不足”的通知功能 当磁盘驱动器的容量少于200MB 时Windows XP 便会发出“磁盘空间不足”的通知,如需停止此功能,可按下程序更改登录文件: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion,在[Policies]下增加一个项名[Explorer](如果已有就不用增加了),在[Explorer]增加一个DWORD 值,[NoLowDiskSpaceChecks]数值资料为[1]= 停止通知,值资料为[0]= 默认值启动通知。 六、让登录[Regedit]时保持在根目录状态 Windows XP 在打开[Regedit]时会停留在上次使用时的位置,可按下列修改后打开Regedit时便会停在根目录上: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit选择[LastKey],清除其有关数值数据,然后在左边窗口上的[Regedit]右点鼠标,择选[权限],在[Administrators 的权限]上全部选[拒绝]。 八、把管理员Administrator 加回在登录选单内 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\SpecialAcc ounts,在[UserList]增加一个[DWORD]值,数值名称为[Administrator],数值数据为[1]= 显示,[0]=隐藏。 九、禁止CD-ROM自动运行 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CDRom 在右边的窗口中,把DWORD值“Autorun”改为“0”。“1”表示自动运行。 十、禁止名称有“快捷方式”四个字 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer ,在右边的窗口中新建一个二进制值“Link”,并设其值为“00 00 00 00”。 十一、自动登录Windows XP HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion,将[Winlogon]右边窗口的[AutoAdminLogon]数值数据改为[1]及将[DefaultUserName]的数值数据改为[设定自动登录使用者帐户的名称],另增加一个字符串值[DefaultPassword]数值数据为[设定自动登录使用者帐户的密码]。

打开注册表编辑器的N种方法

打开注册表编辑器的N种方法 注册表是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。那么注册表编辑器怎么打开?下面来介绍打开注册表的几种方法,其实如果对电脑了解打开注册表的方法是多种多样的,当然如果您对电脑很了解,也不用来到这里看这篇文章了,好了不废话,开始: windows xp系统下打开注册表编辑器方法 方法一:在我的电脑桌面开始 - 运行在运行框里输入 regedit 按确定(回车)即可进入注册表,如下图: 注册表编辑器怎么打开 方法二:找到注册表运行文件 一般在windows xp系统中注册表程序文件都是在系统C盘里的Windows目录下,找到文件名为regedit.exe运行程序。直接运行该注册表程序即可打开注册表了,事实上在C盘里的Windows目录下的system32的regedt32.exe,双击它也打开了注册表。如果您经常使用注册表使用该方法很方便,我们可以把regedit.exe运行程序发送到桌面快捷方式即可,方法是鼠标放在regedit.exe文件上,然后右键鼠标--发送到 -- 桌面快捷方式即可,之后

即可在桌面上找到入口了。 方法三:建立批处理文件,引导打开注册表 在桌面空白的地方右键,新建文本文档,反正你能打开电脑的记事本就行了,新建文件,随便命名,在文本中输入以下代码: start c:/windows/regedit.exe 然后点击文件-另存为-选择所有文件类型,输入文件名:1.bat 如下图: 最后双击这个文件即可打开注册表编辑器!这个方法也算是简单的。 总之在XP系统下打开注册表编辑器的方法是很多的,比如在任务管理器,开始-运行里找注册表编辑器运行文件可以打开,不过我相信大家会了以上三个方法基本能打开了,如果还打不开,请在本站查看注册表的相关修复及清理教程,本站地址:https://www.doczj.com/doc/cc14965207.html, windows 7系统下打开注册表编辑器的方法:

进入注册表的一些常用命令

开始-->运行 一、regedit 进入注册表 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 4. explorer-------打开资源管理器 5. logoff---------注销命令 6. tsshutdn-------60秒倒计时关机命令 7. lusrmgr.msc----本机用户和组 8. services.msc---本地服务设置 9. oobe/msoobe /a----检查XP是否激活 10. notepad--------打开记事本 11. cleanmgr-------垃圾整理 12. net start messenger----开始信使服务 13. compmgmt.msc---计算机管理 14. net stop messenger-----停止信使服务 15. conf-----------启动netmeeting 16. dvdplay--------DVD播放器 17. charmap--------启动字符映射表 18. diskmgmt.msc---磁盘管理实用程序 19. calc-----------启动计算器 20. dfrg.msc-------磁盘碎片整理程序 21. chkdsk.exe-----Chkdsk磁盘检查 22. devmgmt.msc--- 设备管理器 23. regsvr32 /u *.dll----停止dll文件运行 24. drwtsn32------ 系统医生 25. rononce -p ----15秒关机 26. dxdiag---------检查DirectX信息 27. regedt32-------注册表编辑器 28. Msconfig.exe---系统配置实用程序 29. rsop.msc-------组策略结果集 30. mem.exe--------显示内存使用情况 31. regedit.exe----注册表 32. winchat--------XP自带局域网聊天 33. progman--------程序管理器 34. winmsd---------系统信息 35. perfmon.msc----计算机性能监测程序 36. winver---------检查Windows版本 37. sfc /scannow-----扫描错误并复原 38. taskmgr-----任务管理器(2000/xp/2003 39. winver---------检查Windows版本 40. wmimgmt.msc----打开windows管理体系结构(WMI) 41. wupdmgr--------windows更新程序 42. wscript--------windows脚本宿主设置

注册表的组成和结构等基本知识

注册表的组成和结构等基本知识 在Windows 95及以后的版本中,采用了一种叫做“注册表”的数据库将各种信息资源集中起来 并存储各种配置信息;注册表是Windows 的一个内部数据库,是一个巨大的树状分层的数据库。它容纳了应用程序和计算机系统的全部配置信息、系统和应用程序的初始化信息、应用程序和文档文件的关联关系、硬件设备的说明、状态和属性以及各种状态信息和数据。注册表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序的运行,从而在整个Windows系统中起着核心作用。 1。怎么进入注册表? 答:运行regedit.exe或regedt32.exe启动注册表编辑器即可。2。注册表由那些文件的组成? 答:在Windows 95 以上版本中,注册标由两个文件组成:System.dat,User.dat,保存在Windows 所在文件夹中。前者包含硬件和软件的设置,而后者包含与用户有关的信息。在windows 2k/NT/XP/2003系统中,用户配置文件保存在“Documents and Settings” 文件夹中,包括两个隐藏文件NTUSER.DAT和NTUSER.INT和NTUSER.DAT.LOG 日志文件;系统配置文件保存在系统目录下(如:2K的系统目录为winnt,XP的系统目录为windows)“system32\config”中,包括DEFAULT、SOFTWARE、

SYSTEMAPPEVENT.EVT、SECEVENT.EVT、SYSEVENT.EVT多个隐藏文件及与其相应的.log日志文件和.sav文件。 3.注册表的结构怎样? 主键说明 HKEY_CLASSES_ROOT 包含文件扩展名和文件类型,其中也包括了从Win.ini 文件中引入的 扩展名的数据;还包括诸如我的电脑、回收站、控制面板等的类标识。此主键的数据适用于所有用户。 HKEY_CURRENT_USER 保存有当前登录的用户的配置信息,如控制面板选项。 HKEY_LOCAL_MACHINE 包含本机上所有软硬件的信息,此主键的数据适用于所有用户。 HKEY_USERS 保存着所有登录到此机上的用户的信息。既包括通用设置(如应用程序事件) ,也包括特定用户的设置(如桌面)。 HKEY_CURRENT_CONFIG 包含所有连结到此机上的硬件的配置数据,如打印机和显示器的配置数据 HKEY_DYN_DATA 指向 HKEY_LOCAL_MACHINE 的一个分支,它包括诸如系统性能和既插既用的动态信息

相关主题
相关文档 最新文档