AGB  ·  Datenschutz  ·  Impressum  







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

Tastatureingaben abfangen

Ein Thema von Sugar · begonnen am 1. Jul 2019 · letzter Beitrag vom 1. Jul 2019
Antwort Antwort
Sugar

Registriert seit: 23. Jul 2012
83 Beiträge
 
#1

Tastatureingaben abfangen

  Alt 1. Jul 2019, 19:35
Delphi-Version: 7
Hallo Forum,

seit kurzem muss ich Erweiterungen innerhalb eines ERP-Systems entwickeln und habe dazu nur eine recht verwirrende Script-Sprache zur Verfügung. Es gibt keinerlei Syntax-Prüfung oder Code-Vervollständigung. Ich möchte mir nun ein Delphi-Programm schreiben, das mir etwas Arbeit abnimmt. Mir schwebt ein Programm vor, dass zunächst einmal auf Tastenkürzel einfach nur eine von mir gewünschte Zeichenfolge in den aktiven Editor schreibt. Als Beispiel: Ich möchte auf Tastenfruck (z.B. "F2") die Zeichenfolge "ABC" in dem aktiven Fenster einfügen. Ich weiß nun jedoch nicht, wie ich ein Delphi Programm dazu bekommen Eingaben in einem fremden Fenster auszuwerten.

Ich bin dankbar für jeden Hinweis

gruß
Heiko
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#2

AW: Tastatureingaben abfangen

  Alt 1. Jul 2019, 19:50
Ich habe mal von Winspy gehört.
Damit kannst du vielleicht das Objekt finden, in welches du schreiben möchtest.
Dann noch Tastatureingaben simulieren. Hier habe ich aber leider kein Beispiel zur Hand.

hier
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Sugar

Registriert seit: 23. Jul 2012
83 Beiträge
 
#3

AW: Tastatureingaben abfangen

  Alt 1. Jul 2019, 19:55
WinSpy kenne ich (etwas)...

Mein Ansatzt ist aber ein Anderer. Ich arbeite innerhalb eines Editors - z.B. Word etc. Ich möchte jetzt, dass wenn ich F2 drücke einfach irgendein Zeichen "eingegeben" wird. Mein Programm soll also die Tastatureingaben erkennen und ggf. ändern. Ich stelle mir irgend einen Dienst etc. vor der die Tastatureingaben überwacht und verändert.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#4

AW: Tastatureingaben abfangen

  Alt 1. Jul 2019, 19:59
Dann wir dir vielleicht ein globaler Tastaturhook weiterhelfen. Oder aber VBA, wenn du im Word arbeitest.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Sugar

Registriert seit: 23. Jul 2012
83 Beiträge
 
#5

AW: Tastatureingaben abfangen

  Alt 1. Jul 2019, 20:04
Word war nur ein Beispiel. Tatsächlich spielen sich die Eingaben in einem Editor ab, die von dem ERP-System zur Programmierung bereit gestellt wird. Ein simplder TExteditor

Tastaturhook hört sich gut an - nur wie wird sowas umgesetzt?
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#6

AW: Tastatureingaben abfangen

  Alt 1. Jul 2019, 20:18
Tastaturhook hört sich gut an - nur wie wird sowas umgesetzt?
Suche doch mal hier im Forum. Da sind einige Ideen.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#7

AW: Tastatureingaben abfangen

  Alt 1. Jul 2019, 20:28
https://assarbad.net/en/stuff/tutorials/hooks/
Ist zwar uralt, sollte aber erst einmal weiterhelfen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Tastatureingaben abfangen

  Alt 1. Jul 2019, 21:04
Wie wäre es an dieser Stelle mit AutoHotKey? Tut genau das was du möchtest und du kannst darin sogar selbst noch eigene Logik verbauen. Eine einfache "Umwandlung" von F2 zu "ABC" ist ein Einzeiler in der Script Datei.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#9

AW: Tastatureingaben abfangen

  Alt 1. Jul 2019, 22:26
Hmm..

oder wie in diesem Tread aus 2018:

https://www.delphipraxis.net/198742-...ml#post1419689

Das Testtool macht etwas ähnliches..

Es wartet auf einen (Hot-) Key und schickt einen Text als KeyEvent.

Musst jetzt nur eigenen Keys definieren und statt des Memos von Dir vorgegebene Texte schicken.
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#10

AW: Tastatureingaben abfangen

  Alt 1. Jul 2019, 22:29
Wie wäre es an dieser Stelle mit AutoHotKey?
In die Richtung AutoIt/AutoHotkey ging auch meine Überlegung. Während man in Delphi ein entsprechendes Programm noch entwickelt, ist man mit AutoIt/AutoHotkey schon längst fertig. Mit AutoIt ist es auch trivial Daten aus Dateien zu lesen, für den Fall, dass die Tastaturshortcuts und die damit verbundenen Texte änderbar sein sollen (und Hartkodierung vermieden wird). Beispiel einer solchen INI für eines meiner Skripte:
Code:
; ALT           = !
; STRG/CTRL     = ^
; SHIFT/UMSCHALT = +
; WIN           = #

[test]
Text="\r\rBei dieser Bestellung handelt es sich um einen Rahmenvertrag."
Hotkey="^6"
Grüße
Dalai
  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 06:47 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