Text aus Chatfenstern lesen (Java: SunAWTCanvas)

Hi,

ich möchte den Text aus Chatfenstern (der Klasse SunAWTCanvas), wie man sie bei Knuddels, Spinchat und Chatzone findet, auslesen.

SendMessage (WM_GETTEXTLENGTH & WM_GETTEXT) habe ich schon versucht, war aber leider ohne Erfolg. Dann habe ich versucht DrawText und TextOut zu hooken, ebenfalls ohne Erfolg. Und auf OCR habe ich (wegen den vielen möglichen Formatierungen des Textes) nicht wirklich Lust.

Hat vielleicht schon jemand Erfahrungen mit diesem Thema machen können?

Vielen Dank! ;(
 
Hallo Samedi,

in welcher Programmiersprache möchtest du das denn programmieren? Wenn du ein Textfeld auslesen möchtest funktioniert es, wie du schon sagtest mit der Funktion WM_GETTEXT und WM_GETTEXTLENGTH, jedoch musst du einen Handle/HWND übergeben und das Resultat mit einem Buffer verarbeiten. Ich hab hier ein Codeschnippsel in Delphi gefunden:

Code:
 function GetWinText(aHandle: HWND): String;

var

  iBuffLen : Integer;

  pBuffer    : PChar;

begin

  iBuffLen := SendMessage(aHandle, WM_GETTEXTLENGTH, 0, 0);

  if iBuffLen > 0 then

    begin

      Inc(iBuffLen);

      GetMem(pBuffer, iBuffLen);

      try

        SendMessage(aHandle, WM_GETTEXT, iBuffLen, LPARAM(pBuffer));

        Result := pBuffer;

      finally

        FreeMem(pBuffer);

      end

    end

end;

Den HWND oder Handle kannst du mit dem Programm Spy++ oder anderen Programmen auslesen.

the_uxreal
 
Also Java war da bissel schwierig, die hatten aber ein Binding um da ran zu kommen Stichwort Single Sign On.
 
Hallo Samedi,

verfügt das Control, welches du auslesen möchtest über einen Handle/hwnd? Mit Winspector kannst du es herausfinden ==> http://www.windows-spy.com/download/ .

Falls das Control keinen Handle besitzt bleibt nur noch die Möglichkeit im Arbeitspeicher nach den Adressen zu suchen und diese zu vergleichen.

the_uxreal
 
Zurück
Oben