通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>操作系统>>注册表>>正文 新版上线![旧版]
注:打开慢时请稍等

用注册表给应用程序加口令

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

  设计流程为:先判断是否为第一次使用,如果为第一次使用,则要求设置新的用户名和口令,系统将用户名和口令保存起来;如果不是第一次使用,则要求输入用户名和口令才能登录。
www.xker.com()
  在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("SOFTWARE\MicroSoft\whh726",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("SOFTWARE\MicroSoft\whh726",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("SOFTWARE\MicroSoft\whh726",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;

编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:对注册表进行编程的“捷径”
下一篇:MS-DOS方式下对注册表的编程
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
最新更新 热点排行 推荐新闻
VB.NET注册表编程
让注册表记住VFP应用程序的使用次数
在VB中使用注册表
利用WindowsAPI函数和注册表获取系统信
MS-DOS方式下对注册表的编程
VB.NET注册表编程
让注册表记住VFP应用程序的使用次数
在VB中使用注册表
利用WindowsAPI函数和注册表获取系统信
MS-DOS方式下对注册表的编程
用注册表给应用程序加口令
对注册表进行编程的“捷径”
用VB函数轻松访问系统注册表
在VB中调用API操作注册表
编程解决注册表问题所需的函数详解
VB.NET注册表编程
让注册表记住VFP应用程序的使用次数
在VB中使用注册表
利用WindowsAPI函数和注册表获取系统信
MS-DOS方式下对注册表的编程
微软将于6月13日发布WORD漏洞补丁
PPLive最新内部版本揭密
移花接木-照片换脸术
CPU降温软件
借助黑龙江网通免费刷取QQ会员
KMPlayer常见问题及解决方法整理
解决局域网不能互相访问之全攻略
用Photoshop替换颜色做漂亮效果图
NERO刻录使用教程
某外企SQL Server面试题
共享软件的十大破解工具推荐
重庆青年建立个人网站 每月固定收入约
没见过 是读卡器也是刻录机!
ASP.NET2.0数据库入门之常见错误
威金蠕虫肆虐互联网 发送病毒链接迅速
流氓软件拉MSN用户征婚 伪装好友发邀请
网际快车1.72完全免费无广告、下载地址
拼音加加VS紫光输入法
给年轻工程师的“十大忠告” 
巧用CSS滤镜做图案文字
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息