Globale Tastenbefehle ausgeben

Hallo Freunde,

ich habe bei der Recherche im Forum nichts Geeignetes gefunden und trete daher an euch heran.
mAirlist ist ja in der Lage mittels globaler Tastendruck auf dem Keyboard etwaige mAirlist Kommandos ausführen. Geht dies auch anders herum?

Es geht um folgende Vorstellung. Ein Tastenfeld kommuniziert via RS232 mit dem PC respektive mAirlist.
Gern möchte ich, dass ein Taster auch einen für Windows globalen Befehl ausführt z.B. “Strg + X”. Dies ist mit einem RS232 Terminal am PC möglich, der den Status ausliest und das Keyboard imitiert. Nach meiner Kenntnis kann (analog zu ASIO) immer nur ein Programm auf die Schnittstelle zugreifen und deren Zustandsänderungen verarbeiten, richtig?
Ist es nun möglich (auch gern via Script) eine Zustandsänderung des Tasters an mAirlist zu senden und diesen weitergeben an Windows als globale Tastenkombination? Oder gibt es dahingehend viel klügere Workarounds?

Liebe Grüße
Peter

Du kannst Windows-Befehle aus einem Skript heraus mittels

ShellExecute('<Befehl>', '<Parameter>');

ausführen. Hilft Dir das eventuell schon weiter?

Übergreifende Grüße

TSD

Das ist richtig, es kann immer nur ein Programm eine serielle Schnittstelle öffnen (jedenfalls unter Windows). mAirlist muss den Befehl also weitergeben, wenn er nicht für mAirlist selbst bestimmt ist. Tastaturkommandos, kann mAirlist aber keine ausgeben.

Daher kommt @Tondose’s Idee, direkt Befehle auf der Kommandozeile abzusetzen.

Zu Windows XP Zeiten gab es mal Software, die sich als virtuelle Instanz, zwischen die serielle Schnittstelle und die Software gehängt hat. Damit konnte man unidirektional, die ankommenden Werte an mehrere Programme verteilen. Anders herum von der Software zum seriellen Gerät war der Weg dann aber ggf. abgeschnitten. Ich weiß aber nicht ob es das unter Windows 10 noch gibt, bzw. ob das noch funktioniert. Außerdem würde das voraussetzen, dass Deine andere Software, ebenfalls seriell redet und genau so frei anlernbar ist, wie mAirlist.

Greetz
Malte