![]() |
Fensterinhalt eines anderen Programm übernehmen
Hallo zusammen,
Ich würde gerne aus einem anderen Programm etwas übernehmen, was dort im Fenster steht oder auch den ganzen Fensterinhalt. Ich habe den Name des Fensters. Kann man irgendwie nach dem man das Fenster gefunden hat den text als string oder ähnliches bekommen? lg wallwriht |
AW: Fensterinhalt eines anderen Programm übernehmen
Hallo,
Sofern das Control ein Handle besitzt mit SendMessage + WM_GETTEXT. |
AW: Fensterinhalt eines anderen Programm übernehmen
Zitat:
mit: sendmessage(handle); oder wie? lg |
AW: Fensterinhalt eines anderen Programm übernehmen
Guck dir die Hilfe zu WM_GETTEXT im MSDN an (
![]() |
AW: Fensterinhalt eines anderen Programm übernehmen
Zitat:
|
AW: Fensterinhalt eines anderen Programm übernehmen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject); var textlength: Integer; wnd:hwnd; pcwintext:pchar; begin wnd:= Findwindow(nil,'was auch immer'); Memo1.Text:=gettext(wnd); end; function Tform1.GetText(Wnd: HWND): string; var textlength: Integer; Text: PChar; begin textlength := SendMessage(Wnd, WM_GETTEXTLENGTH, 0, 0); if textlength = 0 then Result := '' else begin GetMem(Text, textlength + 1); SendMessage(Wnd, WM_GETTEXT, textlength + 1, Integer(Text)); Result := Text; FreeMem(Text); end; end; das hab ich jtztmal klappt aber nicht in dem Sinne in dem ich es Will. Wenn ich zB ICQ bei findwindow reinschreib kommt im Memo ICQ raus aber da soll ja der Fensterinhalt rauskommen... wie mache ich das? |
AW: Fensterinhalt eines anderen Programm übernehmen
Lad Dir
![]() |
AW: Fensterinhalt eines anderen Programm übernehmen
Zitat:
|
AW: Fensterinhalt eines anderen Programm übernehmen
Die Nummer ist (hoffentlich) das Handle, welches Du für WM_GETTEXT verwenden kannst.
|
AW: Fensterinhalt eines anderen Programm übernehmen
Zitat:
Delphi-Quellcode:
function Tform1.GetText(Wnd: HWND): string; var textlength: Integer; Text: PChar; begin textlength := SendMessage(Wnd, WM_GETTEXTLENGTH, 0, 0); if textlength = 0 then Result := '' else begin GetMem(Text, textlength + 1); SendMessage(Wnd, WM_GETTEXT, textlength + 1, Integer(Text)); Result := Text; FreeMem(Text); end; end; Das ist die Funktion mit der ich das gettext benutzen will. das Ergebnis ist aber ''; also leer. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz