Показать сообщение отдельно

  #3  
Старый 28.05.2008, 19:42
A2GIL
Познающий
Регистрация: 31.08.2007
Сообщений: 94
Провел на форуме:
422909

Репутация: 200
Отправить сообщение для A2GIL с помощью ICQ
По умолчанию

Nightmarе

Код:
function GetPasFromEdit(Wnd: HWND; var Text: string):boolean;
var
  EditWnd: HWND;
begin
  Result := False;
  EditWnd := FindWindowEx(Wnd, 0,'TEDIT', nil);
  if EditWnd = 0 then
    exit;
  SetLength(Text, SendMessage(EditWnd, WM_GETTEXTLENGTH, 0, 0)+1);
  SendMessage(EditWnd, WM_GETTEXT, length(Text), Integer(PChar(Text)));
  SetLength(Text, lStrLen(PChar(Text)));
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
 MainWnd,Grp:Hwnd;
begin
MainWnd:=FindWindow(nil,'Здесь гаголовок главной формы'); Хендл главного окна
Grp:=FindWindowEx(MainWnd, 0,'TEDIT', nil); //Хендл какого-то дочернего котрола
if Grp<>0 then  begin
  GetPasFromEdit(Grp,pass);
 end;
 if Grp=0 then
   exit;
end;

P.S То что темно-красным можно узнать, ну например так:

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
 s: string;
 h: HWND;
 aName: array [0..255] of Char;

begin
 h := WindowFromPoint(Mouse.CursorPos);
 SetLength(s, SendMessage(h, WM_GETTEXTLENGTH, 0, 0)+1);
 SendMessage(h, WM_GETTEXT, length(s), Integer(PChar(s)));
 SetLength(s, lStrLen(PChar(s)));
 GetClassName(h, aName, 256);
 Label1.Caption :='Заголовок : ' +s;
 Label2.Caption:='Класс : '+ aName;
end;
 
Ответить с цитированием