Hab jetzt einiges probiert, aber leider funzt es nicht...
Code:
program Project2;
uses
sysutils,
windows,
messages,
classes,
dialogs;
var
hMain: DWORD;
hSub: DWORD;
iLen: integer;
pText: PChar;
begin
hMain := FindWindow(nil, 'Delphi 5');
if (hMain = 0) or (hMain = INVALID_HANDLE_VALUE) then begin
ShowMessage('Meldung nicht gefunden'#13#10 + SysErrorMessage(GetLastError));
Exit;
end
else
begin
hSub := FindWindowEx(hMain, 0, 'TDrawGrid', NIL);
if hSub = 0 then begin
ShowMessage('Inhalt nicht gefunden'#13#10 + SysErrorMessage(GetLastError));
Exit;
end
else
begin
iLen := SendMessage(hSub, WM_GETTEXTLENGTH, 0, 0) + 1;
if iLen = 0 then begin
ShowMessage('Kein Inhalt');
Exit;
end
else
begin
pText := AllocMem(iLen);
try
if SendMessage(hSub, WM_GETTEXT, wParam(iLen), lParam(pText)) = 0 then begin
ShowMessage('0 Zeichen kopiert');
end else begin
showmessage(pText);
end;
finally
FreeMem(pText, iLen);
end;
end;
end;
end;
end.
FindWindowEx gibt 0 aus. Und wenn ich mit WinSpy das
Handle ermittle und manuell eintrage, dann wird kein Text ausgelesen...