Einzelnen Beitrag anzeigen

Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#8
  Alt 17. Jul 2002, 16:57
Okay, das klingt logisch - ich habe es auch probiert, aber ich bekomme einfach nicht den Text zurück:

So habe ich es eingebaut:

Code:
function ICQGetOwnerMessage: String;
  function FindMessageWindow(const Start: HWND): HWND;
  var
    H: HWND;
    S: PChar;
  begin
    Result := 0;
    H := Start;
    S := StrAlloc(256);
    while H > 0 do begin
      GetWindowText(H, S, 256);
      if (Pos('Change', S) > 0)
      and (Pos('Confirm', S) > 0)
      and (Pos('Message', S) > 0) then begin
        Result := H;
        Exit;
      end;
      H := GetNextWindow(H, GW_HWNDNEXT);
    end;
    StrDispose(S);
  end;

var
  H, I: HWND;
  buffer: array[0..200] of char;

begin
  Result := '';
  H := FindMessageWindow(GetForeGroundWindow);
  if H = 0 then
    Exit;
  SetForeGroundWindow(H);
  I := GetNextDlgTabItem(H, 0, False);
  I := GetNextDlgTabItem(H, I, False);
  if I <> 0 then begin
  SendMessage(I, WM_GETTEXT, sizeof(buffer), Integer(@buffer));
  Result := Buffer;
  end;
end;
In die SendMessage-Schleife geht er erst garnicht rein, deswegen kann das Result auch nicht richtig angezeigt werden - ist klar.
Was genau muss ich verändern?

Gruß Yheeky
  Mit Zitat antworten Zitat