网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
注册表基本操作,简单加密
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

   32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息。

  一、创建和释放TRegistry对象

  1.创建TRegistry对象。为了操作注册表,要创建一个TRegistry对象:ARegistry := TRegistry.Create;

  2.释放TRegistry对象。对注册表操作结束后,应释放TRegistry对象所占内存:ARegistry.Destroy。

  二、指定要操作的键

  操作注册表时,首先应指定操作的主键:先给属性RootKey赋值以指定根键,然后用方法OpenKey来指定要操作的主键名。

  1.指定根键(RootKey)。

  根键是注册表的入口,也注册表信息的分类,其值可为:

  HKEY—CLASSES—ROOT:存储整个系统对象类信息,如ActiveX对象注册、文件关联等信息。

  HKEY—CURRENT—USER:存储当前用户的配置信息。为属性RootKey的默认值。

  HKEY—LOCAL—MACHINE:存储当前系统的软硬件配置信息。应用程序自己的信息可以存储在该根键下。

  HKEY—USERS:存储所有用户通用的配置信息。

  还可以是HKEY—CURRENT—CONFIG、HKEY—DYN—DATA。

  2.指定要操作的主键。

  Function OpenKey(const Key: string; CanCreate: Boolean): Boolean;

  Key:主键名,是键名全名中除去根键的部分,如Software\Borland\Delphi。

  CanCreate:在指定的主键名不存在时,是否允许创建该主键,True表示允许。

  返回值True表示操作成功。

  3.关闭当前主键。

  在读取或存储信息之后,应及时将关闭当前主键:procedure CloseKey。

  三、从注册表中读取信息

  Read系列方法从注册表读取指定的信息(字符串、二进制和十六进制),并转换为指定的类型。

  1.Read系列方法。

  function ReadString(const Name: string): string;

  读取一个字符串值,Name为字符串名称。

  function ReadInteger(const Name: string): Integer;

  读取一个整数值,Name为整数名称。

  function ReadBinaryData(const Name: string; var Buffer; BufSize: Integer):Integer;

  读取二进制值,Name为二进制值名称,Buffer为接收缓冲区,BufSize为缓冲区大小,返回为实际读取的字节数。

  其它方法还有:ReadBool、ReadCurrency、ReadDate、ReadDateTime、ReadFloat、ReadTime。

  2.读取信息一例(显示Windows的版本)。

  在HKEY—LOCAL—MACHINE\Software\Microsoft\Windows\CurrentVersion下,有三个字符串值Version、VersionNumber和SubVersionNumber,用于记录当前Windows的版本号。

  {请在Uses中包含Registry单元}

  procedure TForm1.Button1Click(Sender:TObject);

  var

   ARegistry : TRegistry;

  begin

   ARegistry := TRegistry.Create;

  //建立一个TRegistry实例

   with ARegistry do

   begin

   RootKey := HKEY—LOCAL—MACHINE;//指定根键为HKEY—LOCAL—MACHINE

   //打开主键Software\Microsoft\Windows\CurrentVersion

   if OpenKey( ′Software\Microsoft\Windows\CurrentVersion′,false ) then

   begin

   memo1.lines.add(''Windows版本:′+ ReadString(′Version′));

   memo1.lines.add(''Windows版本号:′ + ReadString(′VersionNumber′));

   memo1.lines.add(′Windows子版本号:′ + ReadString(′SubVersionNumber′));

   end;

   CloseKey;//关闭主键

   Destroy;//释放内存

   end;

  end;

  四、向注册表中写入信息

  Write系列方法将信息转化为指定的类型,并写入注册表。

  1.Write系列方法。

  procedure WriteString(const Name, Value: string);

  写入一个字符串值,Name为字符串的名称,Valu

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号