我的编程经验之一如何保存配置信息(2) if ( reg->OpenKey ( "\\Software\\MyInfo", true ) ) {//打开HKEY_LOCAL_MACHINE\\Software\\MyInfo键如果不存在则创建 if ( reg->ValueExists ( "DataPath" ) ) {//判断是否存在DataPath这个数据项,存在则读取 SysConfig.DataPath = reg->ReadString ( "DataPath" ); }else{//如果不存在这个数据项则采用程序默认路径 SysConfig.DataPath = DefaultPath; } } reg->CloseKey();//关闭打开的键。 delete reg; } 下面这个例子是保存信息到注册表,如果不存在这个键则创建并保存。 void __fastcall SaveConfig () { TRegistry * reg = new TRegistry(); reg->RootKey = HKEY_LOCAL_MACHINE; if ( reg->OpenKey ( "\\Software\\MyInfo", true ) ) {//打开HKEY_LOCAL_MACHINE\\Software\\MyInfo键如果不存在则创建 reg->WriteString ( "DataPath", SysConfig.DataPath ); } reg->CloseKey();//关闭打开的键并保存信息 delete reg; } 这两个例子很简单,其它的一些读写方法也和读取和写入String差不多,大家可以试试。
使用注册表要注意的问题。
使用注册表保存配置信息是多数软件所采用的方法,用注册表的优点是用户轻易不 能够取得和修改这些配置信息,能够有一定的安全性和隐蔽性,如果你采用二进制方式 写入的话,用户将很难知道你保存的数据内容,这样可以使你的数据更安全它的缺点就 是你要注意在Windows的不同版本下,注册表的结构是不同的,而且在NT和WIN2000下,