Seite 1 von 1

Hotkeys an eine bestimmte Anwendung senden, Game, ...

Verfasst: Sonntag 21. November 2010, 08:47
von Freak
Eine kleine Erweiterung, Hotkeys nicht global sondern an eine bestimmte Anwendung senden zu können würde den funktionsumfang von PL und PLE deutlich erhöhen.

Als Hardware-Software-Schnittstelle.
Ein realer Taster/Schalter/... löst eine Funktion in einem Programm aus, durch eine Taste/Tasten-Kombination.

Buzzer = Taster > Hardware > Hardware(Bauteil) = PLE(Anwendung) = Hotkey (an Anwendung "x") > Key "y".

z.B. MS-Flug-Simmulator 2004 (FS9.exe)
z.B. MS-Flug-Simmulator X (FSX.exe)
z.B. YOU DON'T KNOW JACK
...

Re: Hotkeys an eine bestimmte Anwendung senden, Game, ...

Verfasst: Sonntag 21. November 2010, 15:38
von compander
Freak hat geschrieben:Ein realer Taster/Schalter/... löst eine Funktion in einem Programm aus, durch eine Taste/Tasten-Kombination
Hardware: ein physikalischer Schalter wird mit einem Eingang einer I/O-Karte verbunden.
(Karte über die entsprechende Schnittstelle an den Rechner anbinden)
Software: der entsprechende Ausgang (des PLE-Bauteiles/symbolisch für die Karte) wird mit dem Eingang des Bausteines "Programm starten" verbunden.
In den Eigenschaften wird die gewünschte ".exe" ausgewählt.

(ein Hotkey ist hier nicht nötig)

C :shock: mpander.

Re: Hotkeys an eine bestimmte Anwendung senden, Game, ...

Verfasst: Sonntag 21. November 2010, 21:34
von Freak
@compander,

Ich möchte kein Programm starten, sondern einem bestimmten Programm eine Taste senden, einem Spiel das bereits läuft.

danke für den Gedanken, so hab ich es aktuell in verwendung, mit AutoIt (Compiliertes Skript) unten.

Leider Funktioniert es nicht so wie eine "echte" Taste auf der Tastatur, die löst die Funktion im Programm sofort aus, bei dieser Metode habe 1 bis 3 Sek Verzögerung(Virenscanner).
Da es HotKeys ja schon gibt, dachte ich es währe einfach die Funktion zu erweitern, Perfekt zum Buzzer-Bau für Spiele die eben nur Tasten(Hotkeys) verstehen.

Der Virenscanner verzögert beim einem kleineren Wert als 1000 bis zu 10 Sek (Blocken/Prüfen/Freigeben/Ausführen/Blocken/Prüfen/Beenden). Den Virenscanner ausschalten ist keine Option da eine Onlineverbindung erforderlich ist für Wetter, Funk,...

Code: Alles auswählen

---Skript--------------------------
1. Opt("SendKeyDelay",1000)
2. Opt("SendKeyDownDelay",10)
3. Send("{a}")
4. Exit 
---Skript--------------------------
Zeile 1 ist nur eine Nachlaufzeit bis zur nächsten Taste im Skript (org. Wert 5).
Zeile 2 ist nötig damit das Programm (FS9.exe) die Taste überhaupt bekommt (org. Wert 5).
Zeile 3 ist die taste "a"
Zeile 4 Beenden.
Die Werte sind in mS angegeben 1000 = 1 Sek

Re: Hotkeys an eine bestimmte Anwendung senden, Game, ...

Verfasst: Montag 22. November 2010, 09:31
von abacom
Leider Funktioniert es nicht so wie eine "echte" Taste auf der Tastatur
Ein Tastendruck von der Tastatur und ein "Globaler Hotkey" sind programmtechnisch völlig verschiedene Dinge.
Was hat es mit dem "Script" in Ihrem Beitrag auf sich?

Re: Hotkeys an eine bestimmte Anwendung senden, Game, ...

Verfasst: Montag 22. November 2010, 13:30
von Freak
@Abacom
Was hat es mit dem "Script" in Ihrem Beitrag auf sich?
Skript von "AutoIt" inkl. Compiler (http://www.autoitscript.com) (http://www.autoit.de)


PLE-Bauteil "Programm starten" startet die Anwendung (Compiliertes AutoIt-Skript).


127x Skripte erstellen, 127x Skript compiliren, 127x Bauteil "Programm starten", 16x 127x Bauteile ansteuern

...etwas zu viel aufwand für 16 Tasten... (Frage: warum nicht mit AutoIt? - Antwort: viel zu langsam) :!:


------------------------------------------


Mein Problem: mit "Programm starten" kann ich weder den Buchstaben noch ein Programm übergeben!


Neues Bauteil "Programm starten":
Pin 1 - Senden (Digital)
Pin 2 - "Programm.exe" (String)
Pin 3 - "1.Parameter" (String)
Pin 4 - "2.Parameter" (String)

- oder -

Neues Bauteil "HotKey":
Pin 1 - Senden (Digital)
Pin 2 - "Taste" (String)
Pin 3 - "Programm" (String)
Pin 4 - "KeyDown Wert" (Analog)
Pin 5 - "Delay (Analog)"

Re: Hotkeys an eine bestimmte Anwendung senden, Game, ...

Verfasst: Montag 22. November 2010, 14:53
von Mike D
Freak hat geschrieben: Neues Bauteil "Programm starten":
Pin 1 - Senden (Digital)
Pin 2 - "Programm.exe" (String)
Pin 3 - "1.Parameter" (String)
Pin 4 - "2.Parameter" (String)
siehe ShellExecute

Grüße Mike

P.S. etwas längere Beschreibungen was man eigentlich meint könnten manchmal ganz hilfreich sein.

Re: Hotkeys an eine bestimmte Anwendung senden, Game, ...

Verfasst: Mittwoch 24. November 2010, 10:05
von Mike D
HotKey ist nicht global sondern nur PL intern.

Versuch es mal mit EvnetGhost.
Den Skript HotKeyTest.xml in EventGhost starten und das Projekt testen.
Gibt bei mir eine Verzögerung von ~170ms

Mike