Simuler le déplacement de la souris / clic / keyPress dans une application qui n'est pas active

StackOverflow https://stackoverflow.com/questions/806376

  •  03-07-2019
  •  | 
  •  

Question

Je sais comment simuler des événements de souris et de clavier, mais ils agissent comme si l'utilisateur les avait exécutés. Ils affecteront donc la fenêtre active. Ce dont j'ai besoin, c'est de simuler l'une de ces entrées, mais dans une fenêtre inactive.

Je ne dis pas que c'est minimisé, imaginez par exemple que vous avez msPaint et le bloc-notes. Le bloc-notes est en face de la peinture. Et vous voulez simuler des clics de souris dans certaines coordonnées de la fenêtre de peinture, mais sans la définir comme active, permettant ainsi à l’utilisateur de continuer à utiliser le bloc-notes placé devant la peinture.

Est-ce possible? Merci!

Était-ce utile?

La solution

Vous pouvez effectuer les opérations suivantes:

1) récupérez le HWND de la fenêtre dans laquelle vous souhaitez simuler des événements. Pour ce faire, vous pouvez utiliser la fonction FindWindow , qui prend deux paramètres, l’un étant le nom de la classe de la fenêtre (vous pouvez utiliser NULL ) et l’autre le nom du fenêtre (pour plus de détails, consultez la documentation MSDN);

2) envoyez un message à la fenêtre souhaitée à l'aide de la fonction SendMessage . Les paramètres sont les suivants: le handle de fenêtre obtenu précédemment ( HWND ), le message (pouvant être par exemple WM_KEYDOWN ou WM_MOUSEMOVE , WM_LBUTTONDOWN etc.), le WPARAM du message (qui dans le cas de WM_KEYDOWN est le code de clé virtuelle de la clé) et enfin le LPARAM du message (ce qui dans le cas de WM_KEYDOWN est assez complexe et vous devez vérifier MSDN pour plus de détails).

À mon avis, cela suffit pour ce que vous avez l'intention de faire.

Autres conseils

Si vous connaissiez JAVA, vous pourriez utiliser la classe des robots.

  

Cette classe est utilisée pour générer des événements d'entrée système natifs à des fins d'automatisation de test, de démonstrations à exécution automatique et d'autres applications nécessitant le contrôle de la souris et du clavier

Classe de robots Java

Peut-être y a-t-il quelque chose de similaire dans .net?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top