Clipboard Copy Paste
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:
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?
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. |
Re: Clipboard Copy Paste
Nur mal ein paar Denkanstösse: WM_SETTEXT und WM_GETTEXT.
|
Re: Clipboard Copy Paste
Zitat:
Wie gesagt ist das nur ein Teil aus einem größeren Programm, welches ich nicht grundlegend ändern will. Da ich Copy/Paste auch mehrfach verwenden möchte, interessiert mich auch grundsätzlich, warum das so nicht geht... Gruß, |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz