利用DLL实现通用密码验证框
点击次数:84 次 发布日期:2008-11-09 08:44:18 作者:源代码网
|
//文件名为CheckPasswordForm.dpr; 编译此文件生成CheckPasswordForm.dll library CheckPasswordForm; uses XcqCheck in "XcqCheck.pas" {XcqForm}; exports CheckPassword name "CheckPassword";//dll入口 begin end. //文件名为XcqCheck.pas unit XcqCheck; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, Menus; type TXcqForm = class(TForm) XcqEdit: TMaskEdit;//密码输入框 OkBtn: TButton; procedure OkBtnClick(Sender: TObject); end; var XcqForm: TXcqForm; Check: Boolean;//验证输入密码的正确性 function CheckPassword: Boolean;export; //本dll文件的关键实现 implementation {$R *.DFM} procedure TXcqForm.OkBtnClick(Sender: TObject); begin if XcqEdit.Text = "xcq" then Check := True; Close; end; function CheckPassword;export; begin Check := False; XcqForm := TXcqForm.Create(Application); //创建密码输入框 XcqForm.ShowModal;//显示密码输入框; 注意:不能用XcqForm.Show! Result := Check;//返回给调用本dll的应用程序判断 XcqForm.Free;//释放本dll文件所占资源 end; end. 在调用以上dll中CheckPassword函数的应用程序中只需加入以下语句在implementation 后,function CheckPassword: Boolean; external "CheckPasswordForm.dll" name "CheckPassword";在需要进行密码验证的地方加入下面的条件语句就完全实现了密码验证的功能。 if CheckPassword then begin ...//如XcqQuery.Open; end; 上面的程序只是一个简单的密码验证框,我们可以将密码以写入注册表或文件的方式保存,动态修改,更可以利用算术算法对密码进行简单的加密等,使要保密的数据更安全。 其实,上文中如何在dll中实现窗口让我走了不少弯路,我觉得此法对大家更有意义,这是避免程序庞大的一种有效方法,不妨试试。 源代码网推荐 源代码网供稿. |
