Ich habe bereits eine Anwendung erstellt, die Befehle an ein aktiviertes Fenster sendet. Ich möchte in der Lage sein, den Computer zu benutzen, während mein Prozess läuft, denn sobald ich den Fokus auf ein anderes Fenster umschalte, werden die Tasten, die über die Send-Tasten gesendet werden, in das Fenster gehen, in das ich gerade gewechselt habe.Wie sende ich Keystrokes an ein Fenster, ohne es über die Windows API zu aktivieren?
Derzeit verwende ich Findwindow, IsIconic und Showwindow aus dem Windows-API. Ich muss überprüfen, ob das Fenster mit FindWindow da ist und mein Objekt auf das bestimmte Fenster setzen, das mit diesem Aufruf zurückgegeben wird, dann überprüfe ich, ob es mit IsIconic minimiert ist und rufe ShowWindow auf, wenn es ist, und dann muss ich endlich anrufen Interaction.AppActivate, um den Fokus auf dieses Fenster zu setzen. All dies geschieht, bevor ich überhaupt Tastenanschläge sende. Scheint so, als ob es eine Möglichkeit geben sollte, nur Schlüsselstriche zu senden, ohne das Fenster anzeigen zu müssen und es zu aktivieren. Das große Ding ist, während meine Anwendung die Schlüsselanschläge ausführt, kann ich nichts auf meinem Computer tun.
Welches Betriebssystem benutzen Sie? –
Ich benutze Windows Vista. Ich verwende auch .NET 3.5 SP1 Framework mit Visual Studio 2008 in C#. – SlipToFall
Es gibt gute Gründe dafür, dass Sie die Tastatureingabe nur auf das aktive Fenster beschränken können. Sie sind irgendwie subtil, aber sie sind da. –