
28.05.2008, 19:42
|
|
Познающий
Регистрация: 31.08.2007
Сообщений: 94
Провел на форуме: 422909
Репутация:
200
|
|
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;
|
|
|