Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
hMain : DWORD;
hSub : DWORD;
iLen : integer;
pText : PChar;
begin
hMain := FindWindow(NIL,'meineeiner');
if hMain = 0 then begin
ShowMessage('Meldung nicht gefunden'#13#10+
SysErrorMessage(GetLastError));
Exit;
end;
hSub := FindWindowEx(hMain,0,'EDIT',nil);
if hMain = 0 then begin
ShowMessage('Inhalt nicht gefunden'#13#10+
SysErrorMessage(GetLastError));
Exit;
end;
iLen := SendMessage(hSub,WM_GETTEXTLENGTH,0,0)+1;
if iLen = 0 then begin
ShowMessage('Kein Inhalt');
Exit;
end;
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;
Dies Funktioniert mit normnalen Programmen super. Leider habe ich ein Zeichen Problem. Das Fester was ich auslesen will heist:
'meineeiner'successfully saved"
Die Striche kann ich ja bei der Fensterbezeichnung nicht eingeben da streik delphi. Muss ich das über
ASCII Codes eledigen. Weil so hat es bei mir nicht funktioniert.
hMain := FindWindow(NIL,chr(039)+'meineeiner'+chr(039)+' successfully saved'+chr(034));