Ich weiß, dass diese und ähnliche Fragen schon diskutiert wurden, aber bei allen antworten und Tipps hatte ich Probleme. Ich hab nämlich noch gar nicht mit dem auslesen von Daten aus anderen Programmen gearbeitet, deswegen brauche ich dringend Hilfe.
Zum Problem:
Ich habe ein Programm mit Logfenster. Dieses möchte ich auslesen. Mithilfe von Luckies Code (
Klick) kann man ja den Inhalt aus Notepad auslesen. Wenn ich allerdings den Code für mein Programm anpasse, bekomme ich immer Fehlermeldungen
Hier der Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| procedure TForm1.Button1Click(Sender: TObject); var hRichEdit, hHandleDesFensters : HWND; Text : pchar; len: Integer; begin SetLastError(0); hHandleDesFensters := FindWindow(nil, 'MP Lounge 2'); if hHandleDesfensters <> 0 then begin hRichEdit:= FindWindowEx(hHandleDesFensters, 0, 'RichEdit20A', nil); if hRichEdit <> 0 then begin len := SendMessage(hRichEdit, WM_GETTEXTLENGTH, 0, 0); GetMem(Text, len+1); try try SendMessage(hRichEdit, WM_GETTEXT, len+1, Integer(@Text[0])); ShowMessage(String(Text)); except on E: EOutOfMemory do Messagebox(Handle, PChar(E.Message), 'Fehler', MB_ICONSTOP); end; finally FreeMem(Text, len+1); end; end else Messagebox(Handle, PChar(SysErrorMessage(GetLastError)), 'Fehler', MB_ICONSTOP); end else Messagebox(Handle, PChar(SysErrorMessage(GetLastError)), 'Fehler', MB_ICONSTOP); end; |
Die Fehlermeldungen lauten meist:
"Der Vorgang wurde erfolgreich beendet"
Notepad und Wordpad kann ich auslesen. Da gibt es kein Problem. Wäre nett, wenn ihr mir helfen könntet.