Thema: Delphi Clipboard Copy Paste

Einzelnen Beitrag anzeigen

nezumi

Registriert seit: 20. Apr 2006
Ort: Berlin
56 Beiträge
 
#1

Clipboard Copy Paste

  Alt 31. Okt 2006, 09:53
Guten Tag,

leider schon wieder ein Problem:
Ich versuche einen string zu einer anderen Anwendung zu schicken, eine Aktion auszuführen und dann den Text in der Anwendung in mein Programm zu kopieren. Leider klappts nicht.

Um dem Fehler auf den Grund zu gehen, hab ich das Ganze mit einem stark vereinfachten Prog versucht:
- Es soll der erste Eintrag meiner Listbox in ein geöffnetes Notepad kopiert werden.
- Dann soll der gesamte Notepad Inhalt kopiert...
- ...und in ein Memo meines Programms geschrieben werden:

Delphi-Quellcode:
uses
  ...shellapi, sndkey32, Clipbrd;

procedure TForm1.Button1Click(Sender: TObject);
var
  h_anwendung, h_fenster: HWND;
  i : Integer;
  s, s2 : string;
begin
  i2 := 0;
  s2 := '';

  h_anwendung := FindWindow('notepad',nil);
  if h_anwendung <> 0 then begin
  h_fenster := FindWindowEx(h_anwendung,0,'Edit',nil);
  s := Listbox1.Items[2];
  For i := 1 to Length(s) do begin
  SendMessage(h_fenster, WM_CHAR, Word(s[i]), 0) end;
  BringWindowToTop(h_anwendung);

  clipboard.open;

  SendKeys('^a',true);
  SendKeys('^c',true);
  sleep(50);
  s2 := Clipboard.Astext;

  clipboard.close;

  Memo1.Lines.Add(s2);

  end;
  end;
end.
Das Einfügen in Notepad klappt, auch das Markieren des gesamten Inhalts. In meinem Memo-fenster kommt der aber nicht an, sondern irgendwas, was vorher schon in der Zwischenablage war (oder gar nichts). Was mache ich falsch?
nezumi
- Eddy the Eagle unter den Programmierern -
  Mit Zitat antworten Zitat