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

中国人民银行郑州培训学院 信息部 潘汉杰  

Windows注册表跟踪记录了操作系统和各种在系统上安装的应用程序的有关信息。注册表是一个分层数据库。该数据库包含以特定格式表示的配置信息,并且可以直接通过注册表编辑器程序编辑,也可以通过应用程序修改。在早期的Windows版本中,INI文件粗略地完成了这一功能,尽管注册表与INI文件有一些相似之处,但不管怎样,由于组织结构的原因,注册表比传统的INI文件要复杂得多。
注册表分成若干个主要部分,各个部分(或者说关键字)包含了不同种类的系统信息。比如说,当你创建一个应用程序时,你可以在HKEY_LOCAL_MACHINE这个部分的SOFTWARE子节中注册你的配置信息。应用程序可以把配置信息以多种数据类型(包括字符串、货币、日期、浮点数和布尔值)的形式保存在关键字中。本文通过实例介绍在Delphi的应用程序中如何对Windows 98的注册表进行操作(如:创建关键字、获取一个关键字的数据值、删除关键字、删除关键字中的数据值等),下列示例程序均在Delphi 4.0中调试通过,请放心使用。
Delphi中定义了一个Tregistry类,通过使用这个类中封装的很多有关对注册表操作的方法和属性可以完成对注册表的操作。
1、 在注册表中创建一个新的关键字
Tregistry类中有一个CreateKey方法,使用该方法可以在注册表中创建一个新的关键字,该方法的原型声明为:function CreateKey(const Key: string) : Boolean;  
示例代码如下:
unit passwd;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Registry;
type
Tpassword = class(TForm)
Label1: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.DFM}
procedure Tpassword.Button1Click(Sender: TObject);
var
MyReg : TRegistry;
begin
MyReg := TRegistry.Create;
MyReg.RootKey := HKEY_LOCAL_MACHINE;
try
if MyReg.OpenKey(''\SOFTWARE\'',FALSE) then
if not MyReg.KeyExists(''Passwd'') then
begin
MyReg.CreateKey(''Passwd'');
if MyReg.OpenKey(''\SOFTWARE\Passwd'',FALSE) then
Label1.Caption := ''关键字Passwd已建立!''
else
Label1.Caption := ''关键字Passwd无法建立!'';
end
else
Label1.Caption := ''关键字Passwd已经存在!''
else
Label1.Caption := ''注册表打不开!'';
MyReg.CloseKey;
finally
MyReg.Free;
end;
end;
end.
2、 向注册表关键字中写入相关的数据值
在Tregistry类中提供了一系列的Write方法用来写入与当前关键字相关的数据值。常用方法的原型定义如下:
procedure WriteString(const Name, Value : string);
procedure WriteInteger(const Name : string ; Value : Integer);
procedure WriteFloat(const Name : string ; Value : Double);
procedure WriteTime(const Name : string ; Value : TDateTime);
procedure WriteBool(const Name : string ; Value : Boolean);
示例代码:
procedure TForm1.Button1Click(Sender: TObject);
var
MyReg : TRegistry;
begin
MyReg := TRegistry.Create;
MyReg.RootKey := HKEY_LOCAL_MACHINE;
try
if not MyReg.OpenKey(''\SOFTWARE\'',FALSE) then ;
if not MyReg.KeyExists(''Passwd'') then
MyReg.CreateKey(''Passwd'');
if not MyReg.OpenKey(''\SOFTWARE\Passwd'',FALSE) then ;
MyReg.WriteString(''pwd1'',''mypassword1'');
MyReg.WriteInteger(''pd2'',19642);
MyReg.CloseKey;
finally
MyReg.Free;
end;
end;
3、 从注册表关键字中读
  • 上一篇资讯: 3DLabel控件
  • 下一篇资讯: 监视剪贴板内容
  • 网学推荐

    免费论文

    原创论文

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