国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

顯示密碼編輯框中的密碼

2019-11-18 18:44:40
字體:
來源:轉載
供稿:網友
 

我們在使用Windows時,經常會碰到一些密碼編輯框,輸入其中的文字都以“*”顯示。現在,有許多共享軟件和自由軟件都可以實現隱藏密碼的正確顯示。究竟這是怎樣實現的呢!其實,這比較簡單,雖然這些信息都以“*”顯示,但其內部還是以當初的字符表示,所以,我們只要用Windows API函數就可以實現。

  在Windows中,每一個窗口、控件都有它的名字(叫做Name或Window Text)。對于Form、Dialog Box、Message Box來說,名字就顯示在Title Bar中;對于Edit、Button、Static Control,名字顯示在他所占的區域中。密碼編輯框本身就是個Edit控件,雖然顯示的是特殊字符,但名字屬性沒有變,還是輸入時的字符。Windows提供了兩個API函數來獲得這個名字:

  int GetWindowTextLength(HWND hWnd); // 得到名字的長度

  其中,hWnd :想要得到的那個窗口或控件的句柄 handle

  int GetWindowText(HWND hWnd, LPTSTR lpString, int nMaxCount );// 得到名字

  其中,hWnd :想要得到的那個窗口或控件的句柄 handle;

  lpString:存放名字的字符串的地址

  nMaxCount :可拷貝的最大字符數

  下面以Delphi為例,說明它的實現過程。

  新建一Form,放置Label、Edit、Button各一個到Form中,將Edit1的PassWordChar屬性改為“*”,雙擊Button1:

  PRocedure TForm1.Button1Click(Sender: TObject);

  var

  Name:PChar; // 名字

  L:integer; // 名字的長度

  begin

  L:=GetWindowTextLength(Edit1.handle)+1; // 得到名字長度,并將長度加1

  GetMem(Name,L);//為將要得到的名字分配內存

  GetWindowText(Edit1.handle,Name,L);//得到名字

  label1.Caption:=String(Name); // 將得到的名字顯示于 Label1

  FreeMem(Name,0); // 釋放分配的內存

  end;

  經過運行,在Edit1中輸入的密碼就可通過Label1顯示出來。


上一篇:異常死亡進程的自動復活

下一篇:DLL文件中Form的使用

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 休宁县| 西充县| 天水市| 辽阳县| 东山县| 宜川县| 改则县| 册亨县| 罗源县| 井陉县| 增城市| 桦甸市| 吴堡县| 微山县| 松桃| 天长市| 彭州市| 抚宁县| 盖州市| 翁牛特旗| 称多县| 玉龙| 绥德县| 永善县| 龙里县| 江达县| 贵阳市| 凤庆县| 常宁市| 灵川县| 固始县| 渑池县| 南通市| 滦平县| 平利县| 洮南市| 齐河县| 定结县| 广平县| 滨海县| 临邑县|