Mouseclick mit C# auf dem Bildschirm simulieren
Als ich heute auf Facebook eine Anwendung, welche die Mouseklicks in 10 Sekunden zählt, gesehen habe, musste ich mich gleich ransetzen und alle überbieten. Mit dem Finger in 10 Sekunden viele Mouseklicks zu machen ist nicht wirklich möglich. Also griff ich auf die Windows API mouse_event zurück, welche Mouseclicks simuliert. Sozusagen ein kleines Schummelprogramm, um von der Masse bei Facebook abzuheben
Das Programm kann auch als Projektmappe hier runtergeladen werden:
SendClickAPI (5,6 KiB, 101 hits)
Quellcode:
using System.Runtime.InteropServices;
namespace SendClick
{
class Program
{
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
/// <summary>
/// Konstanten für Mouseevents
/// </summary>
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
private const int MOUSEEVENTF_RIGHTUP = 0x10;
static void Main(string[] args)
{
// Startverzögerung, um für die Positionierung der Mouse noch genug Zeit zu haben
System.Threading.Thread.Sleep(3000);
// Starte 409 Klicks
for (int i = 0; i < 409; i++)
{
DoMouseClick();
// Kleine Verzögerung
System.Threading.Thread.Sleep(20);
}
}
public static void DoMouseClick()
{
// Aktuelle Position des Mauszeigers
int X = System.Windows.Forms.Cursor.Position.X;
int Y = System.Windows.Forms.Cursor.Position.Y;
// Event auslösen
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
}
}
}
Artikel, die für Sie interessant sein könnten
Facebook Kommentare: