Сделай сам: "Вскрывалка паролей"
17.12.2007 от Иван Ширко//узнаём координаты курсора мыши
getcursorpos(p);
//получаем идентификатор окна, находящегося под курсором мыши
h:=windowfrompoint(p);
//прячем\показываем пароль
ShowPass(h);
//перерисовываем окно
InvalidateRect(h, nil, true);
end;
Данная процедура позволяет маскировать\демаскировать текст почти любого поля ввода.
Процедура обработки нажатия на кнопку "Скопировать пароль":
procedure TForm1.Button2Click(Sender: TObject);
begin
//узнаём координаты курсора мыши
getcursorpos(p);
//получаем идентификатор окна, находящегося под курсором мыши
h:=windowfrompoint(p);
//каким символом замаскирован текст в данном окне?
ch:=SendMessage(h, EM_GETPASSWORDCHAR, 0, 0);
//если пароль замаскирован, то показываем его в нормальном виде
if ch>0 then
SendMessage(h, EM_SETPASSWORDCHAR, 0, 0);
//выделяем весь текст
SendMessage(h, EM_SETSEL, 0, -1);
//копируем выделенный текст
SendMessage(h, WM_COPY, 0, 0);
//если мы "вскрывали" пароль, то опять маскируем его
if ch>0 then
SendMessage(h,EM_SETPASSWORDCHAR, ch, 0);
Рубрики: Delphi, Сделай сам |
03.03.2008 в 09:00
[…] На первый вопрос я уже дал частичный ответ в статье Сделай сам: “Вскрывалка паролей”, но нам нужно копнуть немного глубже, а второй вопрос […]