Ein Manipulator vom Typ "Maus" ist ein notwendiges Attribut eines jeden Computers. Ohne sie ist die Steuerung oder Navigation durch Anwendungen nicht vorstellbar. Dieser Manipulator interagiert aktiv mit dem Benutzer, indem er seine Aktionen (Bewegungen, Klicks, Scrollen) auf dem Bildschirm anzeigt. Für einige Programmieraufgaben kann eine Software-Mausemulation erforderlich sein.
Es ist notwendig
Microsoft Visual C ++. Net-Entwicklungsumgebung (nicht niedriger als 2003)
Anleitung
Schritt 1
Installieren Sie Microsoft Visual C ++. Net (2003 oder höher). Es gibt mehrere Versionen dieser Entwicklungsumgebung - kostenpflichtig und kostenlos. Sie können von der Website des Entwicklers heruntergeladen werden. Erstellen Sie nach der Installation ein neues Projekt und verbinden Sie System. Windows. Forms und System. Drawing wie unten gezeigt: using System. Windows. Forms; Verwenden von System. Drawing;
Schritt 2
Um die Maus in Windows-Betriebssystemen über den Bildschirm zu bewegen, verwenden Sie Funktionen, die die Position des Cursors auf dem Bildschirm direkt festlegen. Verwenden Sie beispielsweise den folgenden Code: Cursor. Position = new Point (x, y); Diese Zeile bewegt den Cursor an die im Konstruktor der Point (x, y)-Klasse angegebene Position (wobei x und y die Koordinaten der Position, an der der Cursor platziert werden soll) … Wenn Sie die Cursorposition wiederholt festlegen müssen, erstellen Sie eine Instanz der Point-Klasse und verwenden Sie die Methode zum Ändern der Koordinaten dafür. Dadurch wird Speicherplatz gespart: Punktpunkt = neuer Punkt (0, 0); Cursor. Position = Punkt. Offset (20, 100); Cursor. Position = Punkt. Offset (40, -20); Dieser Code erzeugt ein Objekt der Klasse Point() mit den Koordinaten 0, 0. Die zweite Zeile verschiebt den Point um 20 Pixel in X und 100 Pixel in Y. Die aktuelle Koordinate, auf die das Punktobjekt zeigt, ist 20, 100. Die dritte Zeile Wieder passiert Offset Point um die angegebene Anzahl von Pixeln (40 bzw. -20). Die aktuelle Koordinate ist 60 (20 + 40) in X und 80 (100-20) in Y.
Schritt 3
Verwenden Sie die Win32-Funktionen SendInput() oder mouse_event(), um einen Mausklick zu emulieren. Um beispielsweise einen Rechtsklick programmgesteuert zu simulieren, verwenden Sie den folgenden Code: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // zur Vereinfachung eine Aufzählung mit den notwendigen Konstanten (Flags) erstellen, // die Mausaktionen definieren: [Flags] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absolute = 0x8000 }; // use - auf die unten eingestellten Koordinaten klicken: const int x = 39000; // Koordinaten von Xconst int y = 12000; // Koordinaten von Ymouse_event (MouseFlags. Absolute | MouseFlags. Move, x, y, 0, UIntPtr. Zero); mouse_event (MouseFlags. Absolute | MouseFlags. RightDown, x, y, 0, UIntPtr. Zero); mouse_event (MouseFlags. Absolut | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);
Schritt 4
Emulieren Sie einen Mausklick, indem Sie WM_LBUTTONDOWN- und WM_LBUTTONUP-Nachrichten mithilfe der SendMessage()-Funktion der Win-API senden. Zum Beispiel wie unten gezeigt: void OnBtPerformClick (object sender, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_LBUTTONUP, MKPTONR; }