Es geht hierbei sicherlich um Komponenten in fremden Applikationen, right?
Das Zauberwort heißt:
WindowFromPoint
Sollte es auch in deiner Delphi Hilfe geben.
Die Funktion gibt dir das
Handle zurück dem du dann irgendwelchen Input schicken kannst. Post/SendMessage mit WM_Gettext oder ähnliches.
Gruß
Reli
Edit: nochmal ein bisschen Zusatzinput bzw. eine Demo. Brauchst ne Form mit nem Timer drauf (100msec, aktiv).
Delphi-Quellcode:
function GetCaptionAtPoint(CrPos: TPoint):
string;
var
textlength: Integer;
Text: PChar;
Handle: HWND;
begin
Result := '
Empty';
Handle := WindowFromPoint(CrPos);
if Handle = 0
then Exit;
textlength := SendMessage(
Handle, WM_GETTEXTLENGTH, 0, 0);
if textlength <> 0
then
begin
getmem(Text, textlength + 1);
SendMessage(
Handle, WM_GETTEXT, textlength + 1, Integer(Text));
Result := Text;
freemem(Text);
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
punkt : tpoint;
begin
if GetCursorPos( punkt )
then
Edit1.Text := GetCaptionAtPoint( punkt );
end;