Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Aus fremder Anwendung Text in ClipBoard kopieren (https://www.delphipraxis.net/93458-aus-fremder-anwendung-text-clipboard-kopieren.html)

Pascal-Bastler 6. Jun 2007 09:42


Aus fremder Anwendung Text in ClipBoard kopieren
 
Hallo,

ich will in einer fremden Anwendung im aktuellen Eingabefeld per Delphi-Programm den Inhalt markieren und in die Zwischenablage kopieren, um ihn weiterzuverarbeiten. Wie kann ich das machen?

Ich weiß, dass es eine ClipBoard-Unit gibt, also den Text rausholen ist kein Problem. Innerhalb einer Delphi-App. ist das Kopieren auch machbar (dazu fand ich Beiträge).

Any hints?

mfg

Gerhard

CCRDude 6. Jun 2007 10:08

Re: Aus fremder Anwendung Text in ClipBoard kopieren
 
Den Inhalt von Textfeldern in fremden Anwendungen ist prinzipiell auch anders evtl. sogar einfacher möglich, Stichworte: EnumWindows, EnumChildWindows, WM_GETTEXT.

Deine Vorgehensweise könnte man vermutlich mit keybd_event realisieren (Strg+A, dann Strg+C an die Anwendungen senden), sofern diese andere Anwendung gerade wirklich aktiv ist.

Beides geht aus Sicherheitsgründen - imho - seit XP oder so nicht mehr bei passwortgeschützten Feldern.

Weiterhin erlaubt Vista nicht, von einer "normalen" Anwendung so auf eine mit Administratorenrechten gestartete Anwendung zuzugreifen.

bitsetter 6. Jun 2007 14:18

Re: Aus fremder Anwendung Text in ClipBoard kopieren
 
Hallo,

wenn du das Handle des fremden Textfeldes mit den oben genannten Funktionen herausbekommen hast, könntest du mit
Delphi-Quellcode:
var
  SelStart, SelEnd: integer;
begin
  SelStart:= ...;
  SelEnd := ...;
  SendMessage(..., EM_SETSEL, SelStart, SelEnd);
  SendMessage(..., WM_COPY, 0, 0);
den Text selektieren und in die Zwischenablage kopieren.

Pascal-Bastler 9. Jun 2007 09:12

Re: Aus fremder Anwendung Text in ClipBoard kopieren
 
Hi,

vielen Dank für die Antworten, werde mal in diese Richtung weiterbasteln ..... :-)

mfg

Gerhard


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:37 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