C++Builder注册表编程实例详解
键值的数据。
如: WriteString(- 我的串 -,- 内容 -); 其它类型的键值(二进制值、 Dword 值)的读取和写入函数如 WriteInteger 、 WriteBool() 、 WriteFloat() 、 WriteDateTome() 、 WriteBinaryData() 等用法与上述类似。 (9) 判断键值或主键是否存在的函数: bool __fastcall ValueExists( 键值名 ); 这个方法判断当前键下是否存在指定的数据项,如果存在返回 true ,否则返回 false 。 bool __fastcall KeyExists( 主键名 ); 这个方法判断一个键是否存在,如果存在返回 true ,否则返回 false 。 (10)从文件读入键值函数: LoadKey( 键值名 , 文件名 ) ; (11)一个键值保存到文件函数: SaveKey( 键值名 , 文件名 ) ; (12) 关闭键值函数: void __fastcall CloseKey(void); 在注册表使用完毕后,应当及时调用 CloseKey() 成员函数关闭注册表,并调用 delete 方法将用 new 申请的内存空间释放。 (13)当前主键下子键值的获取函数: void __fastcall GetKeyNames(Classes::TStrings * Strings) ; 我们可以用该成员函数得到当前主键下所有子键的名称,用 GetKeyInfo 得到更加详细的信息。必须指出,虽然 GetKeyNames() 的说明成 void __fastcall GetKeyNames(Classes::TStrings * Strings) ,也就是说,它的参数类型是 TString ,但是我们并不能首先声明一个 TString 类的实例,然后将它作为参数用于 GetKeyNames() 。这主要是由于 TStrings 类含有抽象成分。我们的解决方法是采用 TStrings 类的派生类 TStringList 来代替 TStrings 声明一个实例,并作为参数用于 GetKeyNames() 函数。 在获得子键的名称后,我们就可以利用有关函数进一步确定详细信息。如用我们可以用 GetValueNames() 结合 Read() 和 Write() 获得主键的值的详细信息。请看下面实例,这个例子的功能是将“ \Software\MyInfo”主键下的所有子键名称显示在 ComboBox1 中:
3 使用 TRegistry 的一般步骤 一般来说,有以下四步操作: 1) 建立 TRegistry 类。 2) 利用 OpenKey() 方法打开一个键值。 3) 用 ReadType() 和 WriteType() 读写键值。 4) 调用 CloseKey ()关闭一个键值,最后调用 delete 方法将用 new 申请的内存空间释放。 二、应用实例1 下面我们通过一个示例程序演示了对注册表的常见操作,包括打开主键、读取不同类型的键值、删除键值或主键等。“每次启动电脑自动运行”复选框则实现的作用类似 Win 95 的 Welcome.exe 程序的功能。 首先在窗体添加 Edit1 、 Label1 、 label 2 (用于显示运行次数)、 Button1 、 CheckBox1 ( Caption= “每次启动电脑自动运行”)等几个控件,然后添加以下源代码。生成可执行文件后,改名为 MyReg.EXE 拷贝到 C: 盘根目录下执行即可。 源代码:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |