Simulieren Maus verschieben / Klick / keyPress in einer Anwendung, die nicht aktiv ist

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

  •  03-07-2019
  •  | 
  •  

Frage

Ich weiß, wie Maus- und Tastaturereignisse zu simulieren, aber sie handeln, als ob der Benutzer hat sie, so dass sie das Fenster beeinflussen, die aktiv ist. Was ich brauche, ist eine dieser Eingaben zu simulieren, aber in einem Fenster, das nicht aktiv ist.

Ich sage nicht, dass es minimiert wird, vorstellen, zum Beispiel, haben Sie MSPaint und Notizblock. Notepad ist vor Farbe. Und Sie wollen Mausklicks in bestimmten Koordinaten des Farbfensters zu simulieren, ohne sie jedoch aktiv Einstellung, die es ermöglicht, den Benutzer mit dem Editor zu halten, die in fron von Farbe ist.

Ist das überhaupt möglich? Dank!

War es hilfreich?

Lösung

Sie können folgendes tun:

1) erhalten die HWND des Fensters, innerhalb dessen Sie möchten Ereignisse simulieren. Um dies zu tun, können Sie die FindWindow Funktion, die zwei Parameter übernimmt, von denen eine den Klassennamen des Fensters (Sie verwenden NULL können) und die andere den Namen des Fensters (MSDN-Dokumentation für Details);

2) eine Nachricht an das gewünschte Fenster senden SendMessage Funktion. Die Parameter sind: der vorherige erhaltenen Fenstergriff (HWND), die Nachricht (die beispielsweise WM_KEYDOWN sein kann, oder WM_MOUSEMOVE, WM_LBUTTONDOWN etc.), die WPARAM der Nachricht (die im Fall einer WM_KEYDOWN ist das virtuelle Tastencode der Taste ) und schließlich die LPARAM der Nachricht (die im Falle WM_KEYDOWN recht komplex ist und Sie sollten für Details überprüfen MSDN).

Meiner Meinung nach ist dies ausreichend für das, was Sie tun mögen.

Andere Tipps

Nun, wenn Sie JAVA wussten, dass Sie die Roboter-Klasse verwenden.

  

Diese Klasse wird verwendet, um native Systemeingabeereignisse zu erzeugen, für die Zwecke der Testautomatisierung, selbstablaufenden Demos und andere Anwendungen, bei denen die Kontrolle über die Maus und die Tastatur ist erforderlich

Java Roboter Klasse

Vielleicht Theres etwas simular in .net?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top