Mam pytanie...
Czy ktoś wie jak pobrać uchwyt OBIEKTU (nie tylko okna) nad którym znajdzie się myszka??
Dzięx za odp...
Mam pytanie...
Czy ktoś wie jak pobrać uchwyt OBIEKTU (nie tylko okna) nad którym znajdzie się myszka??
Dzięx za odp...
W Source 4p masz ClassViewer - przejrzyj sobie źródełka...
PS.: Jestem dzisiaj chojny i obdaruje Cię linkiem: http://4programmers.net/file.php?id=1410 :D
WindowFromPoint
można też użyć ControlAtPos();
procedure TForm1.Timer1Timer(Sender: TObject);
var
Uchwyt : HWND;
NazwaKlasy : String;
DlugBufora : DWORD;
buffer : string;
TxtLength :integer;
begin
Uchwyt:=WindowFromPoint(Mouse.CursorPos);
DlugBufora := 64;
SetLength(NazwaKlasy, DlugBufora);
GetClassName(Uchwyt,Pchar(NazwaKlasy),DlugBufora);
label1.caption:='Nazwa: '+ NazwaKlasy;
PostMessage( Uchwyt, EM_SETPASSWORDCHAR, 0, 0 );
TxtLength := SendMessage(Uchwyt, WM_GETTEXTLENGTH, 0, 0);
txtlength := txtlength + 1;
setlength (buffer, TxtLength);
SendMessage(Uchwyt, WM_GETTEXT,TxtLength,longint(@buffer[1]) );
Label2.Caption:='Tekst: '+buffer;
// Brutala trzeba wlaczyc np przy hasle w GG, nie poradzilem sobie z uchwyrtami do childow (dzieci) np. w GG wiec
// wysylam na sile rozkaz i jakos to idzie. Jesli ktos znajdzie bardziej kulturalny sposob to prosze o info!!
// Po wlaczeniu BRUTALA trzeba kliknac na gwiazdki !!!
if CheckBox1.Checked=false then // jesli nie wlaczony "BRUTAL"
exit;
for TxtLength:=1 to 300000 do
begin
if CheckBox1.Checked=false then
exit;
PostMessage( TxtLength, EM_SETPASSWORDCHAR, 0, 0 );
end;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
SetWindowPos(handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOMOVE + SWP_NOACTIVATE);
end;
Takie tam źródełko podglądacza pod gwiazdkami. to jest to o co Ci chodzi...
Dzięki wszystkim za pomoc... znalazłem w waszych odpowiedziach to czego szukałem, a nawet więcej...
[browar] for all...