• 网站地图|收藏本站|数学学习|学习方法|电脑学习|教学大全|生活常识|句子大全|管理资料下载|范文大全
  • 用注册表给应用程序加口令

    时间:10-14 10:27:50来源:http://www.laixuea.com 电脑技巧阅读:8788

    概要: 几乎每个应用系统都有相应的权限管理功能。对于大型多用户应用系统,一般是将权限设置保存在数据库中。但是对于小型的单用户应用系统和非数据库应用系统,就没有必要将权限设置保存在数据库中,但是用文件来保存既不方便又不安全,因为文件很可能被删除或毁坏。其实,灵活地利用Windows注册表的特点,可以很方便地为应用系统设置用户名和口令,这种方法不但编程简便,而且安全性比较高。下面举例说明,该例程在Windows98,Delphi4环境下调试通过。设计流程为:先判断是否为第一次使用,如果为第一次使用,则要求设置新的用户名和口令,系统将用户名和口令保存起来;如果不是第一次使用,则要求输入用户名和口令才能登录。在Delphi开发环境中,新建一个工程Project1,在Project1中增加一个窗体Form1;在Form1上增加两个按纽,一个为确定,另一个为取消;再在Form1上增加两个Text框EditUser和EditPass,分别为用户名和口令输入框。定义窗体级全局变量RegF:TRegistry。并在inter

    用注册表给应用程序加口令,标签:电脑技巧大全,电脑技术,http://www.laixuea.com

        几乎每个应用系统都有相应的权限管理功能。对于大型多用户应用系统,一般是将权限设置保存在数据库中。但是对于小型的单用户应用系统和非数据库应用系统,就没有必要将权限设置保存在数据库中,但是用文件来保存既不方便又不安全,因为文件很可能被删除或毁坏。其实,灵活地利用Windows注册表的特点,可以很方便地为应用系统设置用户名和口令,这种方法不但编程简便,而且安全性比较高。下面举例说明,该例程在Windows98,Delphi4环境下调试通过。

      设计流程为:先判断是否为第一次使用,如果为第一次使用,则要求设置新的用户名和口令,系统将用户名和口令保存起来;如果不是第一次使用,则要求输入用户名和口令才能登录。

      在Delphi开发环境中,新建一个工程Project1,在Project1中增加一个窗体Form1;在Form1上增加两个按纽,一个为确定,另一个为取消;再在Form1上增加两个Text框EditUser和EditPass,分别为用户名和口令输入框。定义窗体级全局变量RegF:TRegistry。并在interface的Uses中加上Registry。

      增加函数Wsz_IfFirst,判断是否是第一次使用;增加过程Wsz_SaveUse,保存用户名和口令;增加函数Wsz_CheckUser,判断用户名和口令是否正确。然后在Form1的FormShow事件和确定按纽事件中分别调用这三个函数和过程,达到设计要求。

      //判断是否是第一次使用

      function Wsz_IfFirst:Boolean;

      var

      sUser:string;

      sPass:string;

      begin

      result := false;

      RegF:=TRegistry.Create;

      RegF.RootKey :=HKEY_LOCAL_MACHINE;

      RegF.OpenKey("SOFTWAREMicroSoftwhh726",TRUE);

      sUser := RegF.ReadString("user");

      sPass := RegF.ReadString("pass");

      if ((length(sUser)<=0) and (length(sPass)<=0)) then

      result := true ;

      RegF.Free;

      end;

      file://判断用户名和口令是否正确

      function Wsz_CheckUser(MyUser:string;MyPass :string):Boolean;

      var

      sUser:string;

      sPass:string;

      begin

      result:= false;

      RegF:=TRegistry.Create;

      RegF.RootKey :=HKEY_LOCAL_MACHINE;

      RegF.OpenKey("SOFTWAREMicroSoftwhh726",TRUE);

      sUser := RegF.ReadString("user");

      sPass := RegF.ReadString("pass");

      if (sUser=MyUser) and (sPass=MyPass) then

      result := true;

      RegF.Free;

      end;

      file://保存用户名和口令

      procedure Wsz_SaveUser(MyUser:string;MyPass :string);

      begin

      RegF:=TRegistry.Create;

      RegF.RootKey :=HKEY_LOCAL_MACHINE;

      RegF.OpenKey("SOFTWAREMicroSoftwhh726",TRUE);

      RegF.WriteString("user",MyUser);

      RegF.WriteString("pass",MyPass);

      RegF.Free;

      end;

      file://取消按纽事件

      procedure TWszLoginForm.BitBtnCloseClick(Sender: TObject);

      begin

      Close;

      end;

      file://确定按纽事件

      procedure TWszLoginForm.BitBtnYesClick(Sender: TObject);

      var

      suser:string;

      spass:string;

      begin

      suser := trim(edituser.text);

      spass := trim(editpass.text);

      if (length(suser)<=0) or (length(spass)<=0) then

      begin

      Application.MessageBox("用户名和口令都必须输入!",

      "系统提示",

      MB_OK + MB_ICONINFORMATION);

      edituser.SetFocus ;

    [1] [2]  下一页


    Tag:电脑技巧电脑技巧大全,电脑技术电脑学习 - 电脑技巧