• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

        在Delphi中如何對(duì)注冊表進(jìn)行設(shè)置

        在Delphi中如何對(duì)注冊表進(jìn)行設(shè)置

        更新時(shí)間:2019-06-21 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        中國人民銀行鄭州培訓(xùn)學(xué)院 信息部 潘漢杰  

        Windows注冊表跟蹤記錄了操作系統(tǒng)和各種在系統(tǒng)上安裝的應(yīng)用程序的有關(guān)信息。注冊表是一個(gè)分層數(shù)據(jù)庫。該數(shù)據(jù)庫包含以特定格式表示的配置信息,并且可以直接通過注冊表編輯器程序編輯,也可以通過應(yīng)用程序修改。在早期的Windows版本中,INI文件粗略地完成了這一功能,盡管注冊表與INI文件有一些相似之處,但不管怎樣,由于組織結(jié)構(gòu)的原因,注冊表比傳統(tǒng)的INI文件要復(fù)雜得多。
        注冊表分成若干個(gè)主要部分,各個(gè)部分(或者說關(guān)鍵字)包含了不同種類的系統(tǒng)信息。比如說,當(dāng)你創(chuàng)建一個(gè)應(yīng)用程序時(shí),你可以在HKEY_LOCAL_MACHINE這個(gè)部分的SOFTWARE子節(jié)中注冊你的配置信息。應(yīng)用程序可以把配置信息以多種數(shù)據(jù)類型(包括字符串、貨幣、日期、浮點(diǎn)數(shù)和布爾值)的形式保存在關(guān)鍵字中。本文通過實(shí)例介紹在Delphi的應(yīng)用程序中如何對(duì)Windows 98的注冊表進(jìn)行操作(如:創(chuàng)建關(guān)鍵字、獲取一個(gè)關(guān)鍵字的數(shù)據(jù)值、刪除關(guān)鍵字、刪除關(guān)鍵字中的數(shù)據(jù)值等),下列示例程序均在Delphi 4.0中調(diào)試通過,請放心使用。
        Delphi中定義了一個(gè)Tregistry類,通過使用這個(gè)類中封裝的很多有關(guān)對(duì)注冊表操作的方法和屬性可以完成對(duì)注冊表的操作。
        1、 在注冊表中創(chuàng)建一個(gè)新的關(guān)鍵字
        Tregistry類中有一個(gè)CreateKey方法,使用該方法可以在注冊表中創(chuàng)建一個(gè)新的關(guān)鍵字,該方法的原型聲明為: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 := '關(guān)鍵字Passwd已建立!'
        else
        Label1.Caption := '關(guān)鍵字Passwd無法建立!';
        end
        else
        Label1.Caption := '關(guān)鍵字Passwd已經(jīng)存在!'
        else
        Label1.Caption := '注冊表打不開!';
        MyReg.CloseKey;
        finally
        MyReg.Free;
        end;
        end;
        end.
        2、 向注冊表關(guān)鍵字中寫入相關(guān)的數(shù)據(jù)值
        在Tregistry類中提供了一系列的Write方法用來寫入與當(dāng)前關(guān)鍵字相關(guān)的數(shù)據(jù)值。常用方法的原型定義如下:
        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、 從注冊表關(guān)鍵字中讀出相關(guān)的數(shù)據(jù)值
        在Tregistry類中還提供了與Write方法相對(duì)應(yīng)用的用來讀出與當(dāng)前關(guān)鍵字相關(guān)的數(shù)據(jù)值。常用方法的原型定義如下:
        founction ReadString(const Name : string) : string;
        founction ReadInteger(const Name : string) : Integer;
        founction ReadFloat(const Name : string) : Double;  
        founction ReadTime(const Name : string) : TdateTime;
        founction ReadBool(const Name) : 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 ;
        if not MyReg.OpenKey('\SOFTWARE\Passwd',FALSE) then ;
        Label1.Caption := MyReg.ReadString('pwd1');
        Label2.Caption := IntToStr(MyReg.ReadInteger('pd2'));
        MyReg.CloseKey;
        finally
        MyReg.Free;
        end;
        end;
        4、 從注冊表刪除關(guān)鍵字或指定的數(shù)據(jù)值
        使用Tregistry中提供的DeleteKey和DeleteValue方法可以刪除指定的關(guān)鍵字和數(shù)據(jù)值。這兩個(gè)方法的原型定義如下:
        function DeleteKey(const Key : string) : Boolean;
        function DeleteValue(const Key : string) : Boolean;
        使用DeleteKey方法刪除指定的關(guān)鍵字時(shí),如果被刪除的關(guān)鍵字在任何層次有子關(guān)鍵字,它們將同時(shí)被刪除。上面兩個(gè)方法在執(zhí)行時(shí),如果刪除成功,則返回True;否則返回False。
        示例程序如下:
        procedure TForm1.Button1Click(Sender: TObject);
        var
        MyReg : TRegistry;
        begin
        MyReg := TRegistry.Create;
        MyReg.RootKey := HKEY_LOCAL_MACHINE;
        try
        if not MyReg.OpenKey('\SOFTWARE\Passwd',FALSE) then ;
        if MyReg.DeleteValue('pwd1') then
        label1.Caption := 'value [pwd1] has deleted!';
        MyReg.CloseKey;
        if not MyReg.OpenKey('\SOFTWARE\',FALSE) then ;
        if MyReg.DeleteKey('Passwd') then
        label2.Caption := 'Key [passwd] has deleted!';
        MyReg.CloseKey;
        finally
        MyReg.Free;
        end;
        end;
        通過上面的實(shí)例我們簡單介紹了Delphi中對(duì)注冊表的相關(guān)操作。在Tregistry類中還有很多對(duì)注冊表的關(guān)鍵字和數(shù)據(jù)值的操作方法,但其基本的操作方法和上面的示例程序在同小異,限于篇幅就不贅述了。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 最近免费中文字幕大全| 国产成人免费a在线资源| 亚洲色无码国产精品网站可下载 | 亚洲伊人色欲综合网| 99视频免费播放| 亚洲精品无码少妇30P| 国产亚洲精aa成人网站| 在线精品一卡乱码免费| 免费精品国产自产拍在线观看| 亚洲AV无码精品色午夜在线观看| 欧美在线看片A免费观看| 精品久久久久久国产免费了| 亚洲成a人片毛片在线| 亚洲国产免费综合| 美女视频黄的免费视频网页| 亚洲sss综合天堂久久久| 亚洲一区二区精品视频| 免费看美女裸露无档网站| 亚洲一区二区三区免费| 亚洲AV成人无码天堂| 亚洲精品无码乱码成人| 国产精品无码一区二区三区免费 | 黄色免费网址在线观看| 亚洲精品中文字幕乱码影院| 亚洲天堂中文字幕在线| 无码高潮少妇毛多水多水免费| 皇色在线免费视频| 亚洲AV无码专区在线观看成人| 亚洲日韩区在线电影| 亚洲国产精品尤物YW在线观看| 欧洲精品成人免费视频在线观看 | 亚洲国产天堂久久综合| 欧美日韩国产免费一区二区三区| 叮咚影视在线观看免费完整版| 亚洲丰满熟女一区二区哦| 亚洲福利一区二区精品秒拍| 亚洲精品乱码久久久久久久久久久久 | 亚洲精品国产首次亮相| 亚洲最新黄色网址| 水蜜桃亚洲一二三四在线 | 亚洲日韩精品国产一区二区三区|