Autor Beitrag
|M|Ich|Er|
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 34


Morfik Web OS, Delphi 6 EE
BeitragVerfasst: Di 03.10.06 15:15 
Ein Beispiel:
Ich schreib gerade in Word oder anderen Textprogrammen ein paar Textzeilen, gleichzeitig schreibt ein eigenes Programm (welches ich gerne erstellen würde) den Text in eine eigene Textkomponente (Memo) mit.

Ist das möglich?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 05.10.06 09:03 
Nun ja möglich ist (fast) alles...
Die Frage ist nur ob man dafür genug Delphi kann...

Es gibt da viele Möglichkeiten. Angefangen von der einfachsten via WM_GETTEXT über die unsauberste mit Strg+C senden und die Zwischenablage auslesen über die sauberste mit OLE bis zu Keyboard Hooks.
Zu allen Möglichkeiten solltest du aber auch was hier im Forum finden... Such beispielsweise mal nach WM_GETTEXT oder Keylogger oder OLE oder Hooks (ich weiß nicht was dann kommt ich habs nicht ausprobiert aber normalerweise sollte dazu was zu finden sein...).

Sollte das nicht den Erfolg bringen werd ich mal selber was dazu suchen. Aber versuch mal dazu was zu finden...

Kurze Erklärung zu den obigen Methoden:
Mit WM_GETTEXT kann man den in einem Control angezeigten Text auslesen. Allerdings weiß ich nicht ob Word das unterstützt. Man sendet dazu diese Botschaft an das entsprechende Control muss aber dafür dessen handle vorher herausfinden...

Zu Strg+C senden muss ich ja wohl nix sagen...

Mit OLE kann man Word komplett steuern d.h. starten und beenden sowie Text einfügen anders formatieren etc.

Mit Keyboard Hooks kann man (fast) jegliche Tastatureingabe abfangen. Man muss dann nur noch prüfen ob Word gerade den Fokus hat um zu sehen ob die Eingabe dorthin ging.

(Sorry meine Kommataste geht nicht deshalb sehen die Sätze etwas unstrukturiert aus...)