新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 网络学院 > 操作系统 > 注册表 > 注册表与性能 > 正文:利用Windows注册表存储信息

利用Windows注册表存储信息

新客网 XKER.COM 2006-06-27 来源: 收藏本文

一、TRegIniFile方法:(特点:操作简单,可用于Win95/98 Window NT)
首先,在源文件(cpp)中加入
#include $#@60;vcl\registry.hpp$#@62; //for C++ Builder 3.0

__fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner)
{ // 当Form1打开时,从注册表读入Left值

TRegIniFile *pIni = new TRegIniFile("SOFTWARE\\MyName\\MyProg");
Left = pIni-$#@62;ReadInteger("Config","Left",200);
delete pIni;

}

void __fastcall TForm1::FormClose(TObject *Sender,TCloseAction &Action)

{ // 当Form1关闭时,往注册表存放Left值

TRegIniFile *pIni = new TRegIniFile("SOFTWARE\\MyName\\MyProg"); pIni-$#@62;WriteInteger("Config","Left",Left);
delete pIni;

}

注:在缺省状态下,信息存放HKEY_CURRENT_USER根目录下。实际上,它代替了Windows 3.1中的Ini文件.若存放在其它根目录下,可设置Registry-$#@62;RootKey,例:

Registry-$#@62;RootKey = HKEY_LOCAL_MACHINE;

除了可以存放整型值,还可以存放字符串值和布尔值。

二、如何操作注册表

#include $#@60;Registry.hpp$#@62;

TRegIniFile *R=new TRegIniFile("SOFTWARE\\ahaos Softwares\\Wenku\\Config");

//读:
Edit2-$#@62;Text=R-$#@62;ReadString("SMTP","Host","");
Edit3-$#@62;Text=IntToStr(R-$#@62;ReadInteger("SMTP","Port",25));
Edit4-$#@62;Text=R-$#@62;ReadString("SMTP","UserID","");

//写:
R-$#@62;WriteString("SMTP","Host",Edit2-$#@62;Text);
R-$#@62;WriteInteger("SMTP","Port",StrToInt(Edit3-$#@62;Text));
R-$#@62;WriteString("SMTP","UserID",Edit4-$#@62;Text);

别忘了 R-$#@62;Free();

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。