Tastatureingaben an ein geöffnetes Programm senden

Für Fragen von Einsteigern und Programmieranfängern...
DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Tastatureingaben an ein geöffnetes Programm senden

Beitrag von DL3AD »

Hallo,

wie kann man Tastatureingaben z.B. einzelne Zeichen an ein geöffnetes Programm ( welches nicht unbedingt im Fokus ist ) senden ?
Ich habe eine Hardware die sendet mir veschinene Befehle - die will ich umschlüsseln in Tastatureingaben.

Gruß Frank

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Tastatureingaben an ein geöffnetes Programm senden

Beitrag von mschnell »

Soweit ich weiß, gibt es dafür keine Architektur-unabhängige Enkapsulierung in Lazarus.

In Windows musst Du die direkte Windows-API Funktion "SendMessage()" aufrufen (Parameter siehe Windows API Beschreibung).

Lazarus bietet auch in Linux (eine Simulation für) die Funktion "SendMessage()", die macht aber nur eine minimale Teilfunktion dessen, was "SendMessage()" in Windows tut.

Keine Ahnung, wie man in Linux und MacOS Tastendrucks simulieren kann.

-Michael

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Tastatureingaben an ein geöffnetes Programm senden

Beitrag von Christian »

LazMouseAndKeyInput ist das was du suchst. Ist auch Plattformübergreifend nutzbar.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Tastatureingaben an ein geöffnetes Programm senden

Beitrag von mschnell »

Christian hat geschrieben:LazMouseAndKeyInput ist das was du suchst. Ist auch Plattformübergreifend nutzbar.
Wo gibt es eine Doku dazu ?

Sie auch hier: http://www.lazarusforum.de/viewtopic.php?f=9&t=4358

-Michael

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: Tastatureingaben an ein geöffnetes Programm senden

Beitrag von DL3AD »

... kann das Paket LazMouseAndKeyInput nicht finden :shock:
Wo ist das Paket ?
Wo gibt es Hilfe zum Paket ?
Beispiel zum Paket ?

Gruß Frank

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Tastatureingaben an ein geöffnetes Programm senden

Beitrag von Christian »

lauarus-verzeichnis/components/mouseandkeyinput

Ne Doku braucht man für die 2 Klassen mit 4 Methoden doch nicht wirklich...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Soner
Beiträge: 726
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Tastatureingaben an ein geöffnetes Programm senden

Beitrag von Soner »

DL3AD hat geschrieben:... kann das Paket LazMouseAndKeyInput nicht finden :shock:
Wo ist das Paket ?
Wo gibt es Hilfe zum Paket ?
Beispiel zum Paket ?

Gruß Frank
In Lazarus/Components Ordner:
xxxx\Lazarus\components\mouseandkeyinput

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: Tastatureingaben an ein geöffnetes Programm senden

Beitrag von DL3AD »

... Danke - ein Beispiel war auch dabei.
Nun suche ich bloß noch eine Möglichkeit den Fokus auf eine andere geöffnete Anwendung zu setzen.

Gruß Frank

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Tastatureingaben an ein geöffnetes Programm senden

Beitrag von mschnell »

Christian hat geschrieben:lauarus-verzeichnis/components/mouseandkeyinput
Ne Doku braucht man für die 2 Klassen mit 4 Methoden doch nicht wirklich...
Ne Doku braucht man immer, allein schon um herauszufinden, dass es das überhaupt gibt und was man installieren oder "usen" muss, um es zu benutzen.

-Michaek

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Tastatureingaben an ein geöffnetes Programm senden

Beitrag von mschnell »

DL3AD hat geschrieben:Nun suche ich bloß noch eine Möglichkeit den Fokus auf eine andere geöffnete Anwendung zu setzen.
Steht doch bestimmt in der Doku :evil:

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Re: Tastatureingaben an ein geöffnetes Programm senden

Beitrag von theo »

mschnell hat geschrieben:Steht doch bestimmt in der Doku :evil:
Schreib doch eine Doku. Zum schreiben hast du doch scheinbar unbegrenzt Zeit. :wink:

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: Tastatureingaben an ein geöffnetes Programm senden

Beitrag von DL3AD »

... kann mir jemand einen Hinweis geben wie ich den Focus auf eine geöffnete Anwendung setze, damit ich dort ein paar Tastatureingaben setzen kann - das Fenster muss nur aktiv sein, es wird kein Eingabefeld benötigt.

Gruß Frank


mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Tastatureingaben an ein geöffnetes Programm senden

Beitrag von mschnell »

theo hat geschrieben:Schreib doch eine Doku.
Auch das habe ich schon versucht (zu einem anderen Thema). Es war aber nicht möglich, in der svn die Hilfe-Dateien aus den Quell-Dateien, die man da schreiben muss zu generieren und sich anzuschauen was dabei rauskommt. Deshalb habe ich das aufgegeben. Vermutlich geht es anderen, die mit der Doku helfen wollen, ähnlich.

Die Aussage "man braucht keine Doku" wird dadurch nicht richtiger.

-Michael

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: Tastatureingaben an ein geöffnetes Programm senden

Beitrag von DL3AD »

@theo

Danke

Antworten