当前位置:首页 >> 北海电脑维修
电脑学习-用注册表给应用程序加口令教程
    电脑维修技术网是一个可以让一个什么都不懂的菜鸟也能够维护自己电脑的网站,内容覆盖、计算机资讯、电脑入门基础知识、各种电脑故障维护、还有电脑及热门游戏操作技巧,同时还提供常用软件和操作系统下载。

    几乎每个应用系统都有相应的权限管理功能。对于大型多用户应用系统,一般是将权限设置保存在数据库中。但是对于小型的单用户应用系统和非数据库应用系统,就没有必要将权限设置保存在数据库中,但是用文件来保存既不方便又不安全,因为文件很可能被删除或毁坏。其实,灵活地利用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 ;

  exit;

  end;

  if Wsz_IfFirst then

  begin

  file://处理第一次登录的用户名和口令

  if Application.MessageBox(

  "您是第一次使用本软件,请记住您的用户名和口令,

  以便下次登录。现在进入系统吗?",

  "系统提示",

  MB_OKCANCEL + MB_ICONQUESTION) = IDOK then

  begin

  file://保存

  Wsz_SaveUser(suser,spass);

  end

  else

  begin

  edituser.SetFocus ;

  exit;

  end;

  end else

  begin

  if not Wsz_CheckUser(suser,spass) then

  begin

  Application.MessageBox

  ("对不起,用户名和口令输入不正确!", "系统提示",

  MB_OK + MB_ICONINFORMATION);

  edituser.setfocus ;

  exit;

  end;

  end;

  file://全局变量

  GB_Wsz_User := suser;

  GB_Wsz_PASS := spass;

  Close;

  end;

  file://窗体的Show事件

  procedure TWszLoginForm.FormShow(Sender: TObject);

  begin

  if Wsz_IfFirst then

  begin

  Application.MessageBox(

  "您是第一次使用本软件,您可以随便输入用户名和口令。",

  "系统提示",

  MB_OK + MB_ICONINFORMATION);

  end;

  end;



    随着电脑使用时间越来越长,故障也就越来越多,要不断学习新的知识。学习电脑故障和电脑知识大全,帮助您更好的学习电脑!... 如果您喜欢,请记住我们的网站!
本文关键词:用注册表给应用程序加口令
版权所有:北联电脑-北海上门电脑维修电话:18777903410
我们的服务
专业快速解决电脑 网络问题 北海电脑维修服务技术支持
专注电脑方面使用问题 为您快速解决电脑使用中的问题
专业化超过8年的电脑维修技术 积累了大量的电脑维修经验
如果您有电脑网络故障问题 请电话联系:18777903410