操作注册表系列

一、注册表简介

windows的注册表主要存储了计算机的各种配置信息,包括各种软件安装信息,系统外观,系统软件运行等等。

注册表按层次结构来组织,由项、子项、配置单元和值项组成。

注册表中包括如下各项:
  ●HKEY_CURRENT_USER:包含当前登录用户的配置信息的根目录。用户文件夹、屏幕颜色和“控制面板”设置存储在此处。该信息被称为用户配置文件。
  ●HKEY_USERS:包含计算机上所有用户的配置文件的根目录。HKEY_CURRENT_USER是HKEY_USERS的子项。
  ●HKEY_LOCAL_MACHINE:包含针对该计算机(对于任何用户)的配置信息。
  ●HKEY_CLASSES_ROOT:是HKEY_LOCAL_MACHINE\Software的子项。此处存储的信息可以确保当使用Windows资源管理器打开文件时,将使用正确的应用程序打开对应的文件类型。
  ●HKEY_CURRENT_CONFIG:包含本地计算机在系统启动时所用的硬件配置文件信息。

二、程序思路

现在有个需求,需要通过程序实现检测系统注册表中,是否已经将相应的网站添加至信任站点并打开activex的功能。网页上通常JavaScript调用Shell实现,由于需要调用activex控件,所以如果未打开客户端IE中关于activex的限制,则会报出错误。

信任站点的注册表项如下

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range[*]

ActiveX的注册表项

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\[0-4]\[*]

-------------------------------------------------------------------------------------------------------------

[0-4]

值 设置

------------------------------

0 我的电脑

1 本地 Intranet 区域

2 受信任的站点区域

3 Internet 区域

4 受限制的站点区域

[*]

1001 下载已签名的 ActiveX 控件

1004 下载未签名的 ActiveX 控件

1200 运行 ActiveX 控件和插件

1201 对没有标记为安全的 ActiveX 控件进行初始化和脚本运行

1405 对标记为可安全执行脚本的 ActiveX 控件执行脚本

2201 ActiveX 控件自动提示 **

----------------------------------------------------------------------------------------

js中操纵注册表主要用到WScript.Shell

写操作RegWrite(注册表中项的路径,值,类型(例如REG_DWORD))

读操作RegRead(注册表中项的路径)

删除操作RegDelete(注册表中项的路径)

该程序主要用到的是读操作,具体的实现代码如下

Code

如果需要在桌面端实现该功能,能用到的语言就太多了。这里主要讲用一种独特的语言来实现,叫做AutoIt。安装之后就可以在它的IDE环境里开发了。代码如下

Code

 另外我还用汇编调用win32的dll实现了一个,用的编辑器是masm32,代码如下

Code

 

posted @ 2009-04-23 17:29  Yu Wang  阅读(259)  评论(0编辑  收藏  举报