AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Clipboard Copy Paste

Offene Frage von "nezumi"
Ein Thema von nezumi · begonnen am 31. Okt 2006 · letzter Beitrag vom 31. Okt 2006
Antwort Antwort
nezumi

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

Clipboard Copy Paste

  Alt 31. Okt 2006, 10: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
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Clipboard Copy Paste

  Alt 31. Okt 2006, 10:57
Nur mal ein paar Denkanstösse: MSDN-Library durchsuchenWM_SETTEXT und MSDN-Library durchsuchenWM_GETTEXT.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
nezumi

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

Re: Clipboard Copy Paste

  Alt 31. Okt 2006, 11:04
Zitat von Luckie:
Nur mal ein paar Denkanstösse: MSDN-Library durchsuchenWM_SETTEXT und MSDN-Library durchsuchenWM_GETTEXT.
Danke für den Hinweis.
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ß,
nezumi
- Eddy the Eagle unter den Programmierern -
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:46 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