procedure Tmytools.Timer2Timer(Sender: TObject); var s: array[0..255] of char; //i:integer; n,h,c:integer; p:Tpoint; begin getcursorpos(p); //得到当前光标的位置 h:=windowfrompoint(p); //当到光标处窗口的句柄 n:=getwindowlong(h,GWL_STYLE); //取窗口的属性 if (n and $20) <> 0 then//判断是否为密码框 begin c:=sendmessage(h,EM_GETPASSWORDCHAR,0,0);//得到密码框当前的字符 如’*’等 //if c=42 then //begin postMessage(h,EM_SETPASSWORDCHAR,0,0);//设置密码框的字符为空,即去除密码框的密码属性, //i:=sendmessage(h,WM_GETTEXTLENGTH,0,0); //取得密码串的长度 //inc(i); //getmem(s,i);//分配内存 //sendmessage(h,WM_GETTEXT,i,integer(@s)); //获取密码字符串 sendMessage(h,$000D,WM_GETTEXT,integer(@s));// edit11.text:=s;//将密码放入文本框中 //edit1.text:=GetPassword; postMessage(h,EM_SETPASSWORDCHAR,c,0); //恢复原来的密码属性 //freemem(s); //释放内存 end; end; |
|