顯示密碼的原理
發(fā)表時(shí)間:2024-06-16 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]大家都用過用來顯示密碼的工具吧,嘿嘿。其實(shí)原理很簡(jiǎn)單.比如說在delphi中,Edit控件的PasswordChar屬性可讓框中的回顯的字符為自己想要的字符。但是這些字符對(duì)于內(nèi)部來說是不變的(雖說不夠?qū)I(yè),但就是這么回事)!而我們偉大的Delphi給了這個(gè)API---- int GetWindo...
大家都用過用來顯示密碼的工具吧,嘿嘿。其實(shí)原理很簡(jiǎn)單.比如說在delphi中,Edit控件的PasswordChar屬性可讓框中的回顯的字符為自己想要的字符。但是這些字符對(duì)于內(nèi)部來說是不變的(雖說不夠?qū)I(yè),但就是這么回事)!而我們偉大的Delphi給了這個(gè)API----
int GetWindowTextLength(HWND hWnd);得到名字的長(zhǎng)度
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下通過。
當(dāng)然,這只是原理,原理而已。你大可以再融合其它技術(shù),寫一個(gè)自己的密碼查看器。