Einzelnen Beitrag anzeigen

Safran

Registriert seit: 19. Feb 2006
1 Beiträge
 
#1

Eingabe in Programmexternem Editfeld

  Alt 19. Feb 2006, 19:45
Hallo Community,

Eins vorweg, ich bin kein Delphifreak! Also ich programmiere nicht häufig in Delphi.

Mein Ziel ist es ein Programm zu schreiben welches in bestimmten Zeitintervallen ein Text in ein anderes Programm schreibt.
Mein Problem ist dabei das versenden des Textes, nicht die Zeitintervalle oder sonstiges.
Ich habe mich jetzt mal ein bischen schlau gemacht und das ganze für den Editor programmiert, da dies wohl das einfachste Programm auf meinem Rechner ist. Dabei kam folgendes raus:

Delphi-Quellcode:
var
  wnd : HWND;
  i : Integer;
  s : string;
begin
  wnd := FindWindow('notepad',nil);
  if wnd <> 0 then begin
    wnd := FindWindowEx(wnd,0,'Edit',nil);
    s := 'Das ist mein Text';
    For i := 1 to Length(s) do
      SendMessage(wnd, WM_CHAR, Word(s[i]), 0);
  end;
end;
Jetzt wollte ich mal eine Stufe höher gehen und wollte mich an einem Firefoxfenster probieren (Java).

Das Programm X-Spy liefert mir für das Editfeld folgende Daten:

Delphi-Quellcode:
  wnd := FindWindow('J', nil);
  wnd := FindWindowEx(wnd, 0, 'SunAwtCanvas', nil);
  wnd := FindWindowEx(wnd, 0, 'Edit', nil);
Wenn ich die Notepadzeile durch "wnd := FindWindow('J', nil);" ersetze passiert nichts, außer das mein Prozessor ausgelastet ist, also habe ich mir gedacht das ich das Editfeld wohl direkt ansprechen muss.
Allerdings habe ich keine Ahnung wie, habe jetzt schon zwei Stunden daran rumprobiert.

Danke für eure Hilfe!

fG Safran
  Mit Zitat antworten Zitat