cześć
Próbuje zrobić programik, który wyciągnie parę danych z okien aplikacji tzn handle, class name oraz text z belki programu.
Wszystko to po najechaniu myszką na jakieś okno.
Mam, że po najechaniu myszką np na okno gg pojawią mi się dane w programie:
procedure TForm1.ShowHwndAndClassName(CrPos: TPoint);
var
hWnd: THandle;
aName: array [0..255] of Char;
begin
hWnd := WindowFromPoint(CrPos);
Label1.Caption := 'Handle : ' + IntToStr(hWnd);
if Boolean(GetClassName(hWnd, aName, 256)) then
Label2.Caption := 'ClassName : ' + string(aName)
else
Label2.Caption := 'ClassName : not found';
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
rPos: TPoint;
begin
if Boolean(GetCursorPos(rPos)) then ShowHwndAndClassName(rPos);
end;
I to działa.
Problem z mam wyciągnięciem textu z belki aplikacji
Mam kod, który pokazuje te dane z wszystkich otwartych okien w systemie
function EnumWindowsProc(WHandle: HWND; LParM: LParam): Boolean;StdCall;Export;
var Title,ClassName:array[0..128] of char;
sTitle,sClass,Linia:STRING ;
begin
Result:=True;
GetWindowText(wHandle, Title,128);
GetClassName(wHandle, ClassName,128);
sTitle:=Title;
sClass:=ClassName;
if IsWindowVisible(wHandle) then
begin
Linia:=sTitle+' '+sClass+' '+IntToHex(wHandle,4);
Form1.Listbox1.Items.Add(Linia);
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
EnumWindows(@EnumWindowsProc,0);
end;
I nie mam pojęcia jak to połączyć aby pokazywało text tylko z okna na który nadaję myszką???
proszę o pomoc