blackodemx Geschrieben 11. Januar 2012 Geschrieben 11. Januar 2012 Grüßt euch, ich suche aktuell nach einer Möglichkeit, wie ich mittels C# einen globalen Tastendruck simulieren kann. Ich habe es bereits geschafft die globalen Tastendrücke abzuhören, nur zum senden finde ich keine Möglichkeit. Von Prinzip her soll zirka folgendes passieren: - User drückt "a" - das "a" wird abgefangen und blockiert - es wird ein globaler Tastendruck mit "b" simuliert Das ganze muss auch in DirectX funktionieren Ich hoffe ihr habt da ein paar Ideen Zitieren
Klotzkopp Geschrieben 11. Januar 2012 Geschrieben 11. Januar 2012 ich suche aktuell nach einer Möglichkeit, wie ich mittels C# einen globalen Tastendruck simulieren kann. Keine Ahnung, was du mit "global" meinst. SendKeys.Send Method Von Prinzip her soll zirka folgendes passieren: - User drückt "a" - das "a" wird abgefangen und blockiert - es wird ein globaler Tastendruck mit "b" simuliertBlockieren geht weit über Abhören und Simulieren hinaus. Wozu braucht man denn so etwas? Zitieren
blackodemx Geschrieben 11. Januar 2012 Autor Geschrieben 11. Januar 2012 Mit global meine ich, dass der Tastendruck nicht nur dahin gesendet wird wo der Focus ist, sondern global gesendet wird, wie ein normaler Tastendruck einer Tastatur. Sendkeys.Send funktioniert leider nicht in DirectX Anwendungen. Das Blockieren braucht man, wenn man z.B. ein Makro programmiert, das durch eine Taste ausgelöst wird, welche aber selbst nicht ausgelöst werden soll, aber das Blockieren funktioniert ja schon Zitieren
Klotzkopp Geschrieben 11. Januar 2012 Geschrieben 11. Januar 2012 Mit global meine ich, dass der Tastendruck nicht nur dahin gesendet wird wo der Focus ist, sondern global gesendet wird, wie ein normaler Tastendruck einer Tastatur.Es gibt kein "globales Senden". Windows schickt die Tastatur-Nachrichten immer nur an das Fenster, das den Fokus hat. Wenn so etwas wie DirectInput zum Einsatz kommt, das die Tastaturereignisse abgreift, bevor Windows sie verteilt, kommt es nicht dazu. Es gibt also keine "globalen" Tastaturereignisse, es kommt nur darauf an, auf welcher Ebene der Ereignisverarbeitung deine Simulation ansetzt. Die native-Funktion SendInput ist, soweit ich weiß, in der Lage, Tastatur- und Mausereignisse so zu erzeugen, dass sie auch von DirectX verarbeitet werden. SendInput function Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.