大家都用過(guò)用來(lái)顯示密碼的工具吧,嘿嘿。其實(shí)原理很簡(jiǎn)單.比如說(shuō)在delphi中,Edit控件的PasswordChar屬性可讓框中的回顯的字符為自己想要的字符。但是這些字符對(duì)于內(nèi)部來(lái)說(shuō)是不變的(雖說(shuō)不夠?qū)I(yè),但就是這么回事)!!而我們偉大的Delphi給了這個(gè)API---- int GetWindowTextLength(HWND hWnd);得到名字的長(zhǎng)度 int GetWindowText得到名字 hWnd代表句柄大家都知道吧。還是不說(shuō)廢話(huà)?聪碌某绦;
在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下通過(guò)。 當(dāng)然,這只是原理,原理而已。你大可以再融合其它技術(shù),寫(xiě)一個(gè)自己的密碼查看器。
|
溫馨提示:喜歡本站的話(huà),請(qǐng)收藏一下本站!