Wie erstelle ich Tastatureingaben in eine nicht-form-Anwendung

Also ich habe ein großes Programm, und ich beschloss, dass ich sollte eine der Methoden werden in einem separaten thread. So legte ich die Methode in eine separate Klasse, eine aktivierte es auf meine form. Es schien funktioniert zu haben, wie ich wollte, es zu, bis es kam zu Teil, wo er gab mir diese Fehlermeldung:

SendKeys kann nicht innerhalb dieser Anwendung, da die Anwendung
ist nicht der Handhabung von Windows-Nachrichten. Entweder ändern Sie die Anwendung, um
Nachrichten verarbeiten, oder verwenden Sie die Tastaturbefehle.SendWait-Methode.

Ich habe versucht, auf der Suche nach der Antwort online. Ich glaube, ich sah etwas wie SendKeys funktioniert nur in einem Formular oder so etwas.

Kann mir jemand sagen, einen Weg, um zu simulieren, ein Tastendruck, ohne Verwendung von SendKeys, ODER einen Weg, um Tastaturbefehle zum arbeiten in einen anderen, nicht-form-thread?

  • bitte zeigen Sie einige Quelle... was genau hast du versucht ?
  • Stell dir einfach vor, es geht so. public class Beispiel() { Sendkeys.Send("{RIGHT}"); } aber das funktioniert nicht, wegen der Fehlermeldung die ich bekomme.
  • statt uns vorgibt, uns zu zeigen, was Sie gerade tun und Sie erhalten eine Menge nützlicher Antworten
  • Fein. Die Klasse oben ist, was ich versuche zu laufen
  • Die Nachricht ist nicht sehr genau. Es sollte Lesen "SendKeys nicht ausgeführt werden, weil der thread nicht der Handhabung von Windows-Nachrichten." Mit SendKeys ist fast immer eine ganz Schlechte Idee. Kann nicht geben Sie ein gutes, ohne einen Grund Sie dies tun.
InformationsquelleAutor | 2012-04-07
Schreibe einen Kommentar