显示密码的原理
【打印文章】
大家都用过用来显示密码的工具吧,嘿嘿。其实原理很简单.比如说在delphi中,Edit控件的PasswordChar属性可让框中的回显的字符为自己想要的字符。但是这些字符对于内部来说是不变的(虽说不够专业,但就是这么回事)!!而我们伟大的Delphi给了这个API----
int GetWindowTextLength(HWND hWnd);得到名字的长度
int GetWindowText得到名字
hWnd代表句柄大家都知道吧。还是不说废话。看下的程序;
在Form中放Label,Edit,Button各一。将Edit的PasswordChar属性改成自己想要的字符。加入Button代码:
procedure TForm1.Button1.Click(sendor:TObject); Var Charname:Pchar; CharLong:integer; begin Charlong:=GetwindowTextLength(Edit1.handle)+1; Getmem(charname,charlong); GetWindowText(Edit.handle,Charname,Charlong); Label1.Caption:=String(Charname); FreeMem(charname,0) end;
在Delphi 5.0 for winme下通过。
当然,这只是原理,原理而已。你大可以再融合其它技术,写一个自己的密码查看器。
int GetWindowTextLength(HWND hWnd);得到名字的长度
int GetWindowText得到名字
hWnd代表句柄大家都知道吧。还是不说废话。看下的程序;
在Form中放Label,Edit,Button各一。将Edit的PasswordChar属性改成自己想要的字符。加入Button代码:
procedure TForm1.Button1.Click(sendor:TObject); Var Charname:Pchar; CharLong:integer; begin Charlong:=GetwindowTextLength(Edit1.handle)+1; Getmem(charname,charlong); GetWindowText(Edit.handle,Charname,Charlong); Label1.Caption:=String(Charname); FreeMem(charname,0) end;
在Delphi 5.0 for winme下通过。
当然,这只是原理,原理而已。你大可以再融合其它技术,写一个自己的密码查看器。
本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )
【编程爱好者论坛】