用Visual C++实现注册表简单操作
2009-04-24 20:06:43 来源:WEB开发网Windows的注册表中包含了Windows的系统配置、PC机的硬件配置、Win32应用程序和用户的其他设置信息。注册表和INI文件不同,它是多层次的树状数据结构,具有六个分支(根键),每个分支又由许多的键和键值组成,而每个键则代表一个特定的配置项目。在注册表中键可以包括子键和值。我们可以对他做个比喻,键就是目录,而子键和值可以看成文件,这样比喻可能不科学但是很实际。在Windows 98下注册表包括在两个文件内,他们是user.dat和system.dat两个文件。System.dat包括标准的系统信息,他们被保存在HKEY_LOCAL_MACHINE的根键内。User.dat文件包括用户指定的信息,如用户策略,桌面设定等等。
为了平时查看方便,Windows为我们准备了一个小程序regedit.exe.执行他就可以看到注册表的树状结构。在实际编程工作中,我们经常会遇到如何在Visual C++中对Windows注册表整个树状结构信息进行访问和修改的问题,如查询和修改注册表中用户姓名和公司名称的有关信息等。为此,本实例将相关的注册表操作封装到函数中,并通过一个简单的例程给出了上述函数的调用方法,该例程可以在注册表中创建、删除、显示一个键值,同时还可以清空最近阅读过的文档历史记录。
一、实现方法
对注册表的编程要用到句柄,我们需要通过一个句柄访问注册表键值,当打开或创建一个键值的时候,会返回一个该键的句柄,并且调用和分析键和创建键值,在分析和创建的同时需要传递句柄到函数。WINDOWS提供预定义的用语---根一级键的保留句柄,如HKEY_CLASS_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USER等,这些都是与注册表的根键相对应并且同名的句柄。当访问一个根键的时候,传递这些通用句柄。这就不用打开根键啦,因为他们总是在打开状态下,可使用默认键的句柄访问。
- ››注册表去除Windows 7快捷方式箭头
- ››实现基于OPhone 2.0的GTalk客户端
- ››实现可编辑下拉框的ComboBox asp.net控件方法
- ››实现AjaxPro的方法
- ››Visual Studio自定义调试窗体两个小技巧
- ››实现asp中htmlencode功能的jsp函数
- ››Visual Studio 2005 Team Edition for Database P...
- ››Visual C#两分钟搭建BHO IE钩子
- ››实现windows的负载均衡
- ››实现窄屏/宽屏的切换——给宽屏用户超值享受
- ››实现JSP数据和JavaScript数据交互使用
- ››Visual C++优化对大型数据集合的并发访问
更多精彩
赞助商链接