so ich hab mal nach dem rat von Apollonius folgendes erstellt:
Delphi-Quellcode:
var h: HWND;
text,classname:String;
begin
h:=GetForegroundWindow;
SetLength(text,SendMessage(h,WM_GETTEXTLENGTH,0,0)+1);
SendMessage(h,WM_GETTEXT,length(text),Integer(@text[1]));
SetLength(ClassName, 255);
//get the class name and reset the
//memory area to the size of the name
SetLength(ClassName,
GetClassName(h,
PChar(className),
Length(className)));
edit1.Text:=classname;
edit2.Text:=text;
h := FindWindowEx(h, 0, 'DirectUIHWND', nil);
SetLength(text,SendMessage(h,WM_GETTEXTLENGTH,0,0)+1);
SendMessage(h,WM_GETTEXT,length(text),Integer(@text[1]));
SetLength(ClassName, 255);
//get the class name and reset the
//memory area to the size of the name
SetLength(ClassName,
GetClassName(h,
PChar(className),
Length(className)));
edit3.Text:=classname;
edit4.Text:=text;
memo1.Text:=text;
end;
das wird per timer aufgerufen und dann sieht man immer das aktuelle fenster. (da ich genau das ja auchnur später brauch)
aber beim DirectUIHWND gibt es keine ausgabe bei text. nix zu sehen..
kann man noch anders den inhalt ermitteln?
mfg
p.s.: also mit dem notepad und dann dort drinn editor(also anstatt directuihwnd) klappt das. da bekommt man eine ausgabe.