![]() |
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 |
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. |
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:
den Text selektieren und in die Zwischenablage kopieren.
var
SelStart, SelEnd: integer; begin SelStart:= ...; SelEnd := ...; SendMessage(..., EM_SETSEL, SelStart, SelEnd); SendMessage(..., WM_COPY, 0, 0); |
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 13:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz