Увидеть пароль скрытый за звёздочками 2



Автор: Baa

Наверно так: хотя классов может быть больше

procedure TForm1.Timer1Timer(Sender: TObject);
var
  Wnd: HWND;
  lpClassName: array[0..$FF] of Char;
begin
  Wnd := WindowFromPoint(Mouse.CursorPos);
  GetClassName(Wnd, lpClassName, $FF);
  if ((strpas(lpClassName) = 'TEdit') or (strpas(lpClassName) = 'EDIT')) then
    PostMessage(Wnd, EM_SETPASSWORDCHAR, 0, 0);
end;

Дополнение от: Mikel

Здесь проблема: если страница памяти защищена, то её нельзя прочитать таким способом, но можно заменить PasswordChar(пример: поле ввода пароля в удаленном соединении)