2009-06-10 6 views
0

Je veux envoyer une touche Application Presses, pour automatiser certaines choses qui doit être fait à plusieurs reprises et donc je n'ai pas toujours à me cramponner les doigts. En C#, il est bon d'utiliser SendKeys.Send(), mais cela ne fonctionnera pas car l'application ne prend pas Windows Messages. SendKeys.SendWait() ne fait rien du tout. Comment simuler les événements du clavier? En y pensant, j'allais utiliser P/Invoke pour simuler des événements de souris aussi, mais s'il ne prend pas de messages, comment puis-je contourner cela?Emuler les touches pressées sur une application qui ne prend pas de messages Win


EDIT - Je peux utiliser la souris et le clavier pour interagir avec le programme, je ne peux pas le manipuler avec des messages Windows envoyés à partir de mon propre code.

+0

Est-ce une application console? –

+0

Non, il s'agit d'une application fenêtrée. – wsd

Répondre

1

Avez-vous essayé AutoIt?

+0

AutoIt - Parfait. J'ai été en mesure d'importer la bibliothèque AutoItX dans mon projet en VS et cela a fonctionné un charme. – wsd

0

Est-ce une application de console? Si oui, peut-être vous devriez être SendKeys 'ing à l'instance de shell de commande dans laquelle il s'exécute.

+0

Non, ce programme n'a malheureusement pas de console. – wsd

+0

Il n'a pas de fenêtres et il n'a pas de console pour l'entrée de texte normal. Comment interagissez-vous normalement avec ce que vous seriez en train de taper alors? –

+0

Il a une fenêtre. Cela ne prendra pas Windows Messages. – wsd

Questions connexes