国产探花免费观看_亚洲丰满少妇自慰呻吟_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的使用

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

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 新化县| 唐河县| 桂东县| 泸定县| 夏河县| 天台县| 泽州县| 时尚| 乐亭县| 景泰县| 清河县| 东兴市| 佛山市| 阳信县| 嘉峪关市| 临沭县| 甘孜县| 甘泉县| 吉水县| 内黄县| 鄂温| 西丰县| 镇雄县| 五常市| 台北县| 昂仁县| 鸡东县| 多伦县| 平果县| 彭阳县| 益阳市| 莱芜市| 元阳县| 会昌县| 安义县| 阜新市| 和林格尔县| 双江| 重庆市| 顺昌县| 丹巴县|