Имитация щелчков мышью в определенной позиции в неактивном окне в C # - PullRequest
7 голосов
/ 23 ноября 2011

Вот оригинальный вопрос, но он считается Java: Имитировать щелчки мышью в определенной позиции в неактивном окне в Java?

В любом случае, я создаю бота, который будет работать в фоновом режиме. Этот бот требует, чтобы я нажал. Конечно, я хочу иметь возможность заниматься другими делами, пока бот работает.

Поэтому мне было интересно, можно ли имитировать щелчок мышью в определенной позиции в неактивном окне.

Если это возможно, я буду очень признателен, если кто-нибудь из вас сможет мне помочь.

Спасибо!

1 Ответ

5 голосов
/ 23 ноября 2011

Да, это возможно, вот код, который я использовал для предыдущего школьного проекта:

[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);

public const int MOUSEEVENTF_LEFTDOWN = 0x02;
public const int MOUSEEVENTF_LEFTUP = 0x04;
public const int MOUSEEVENTF_RIGHTDOWN = 0x08;
public const int MOUSEEVENTF_RIGHTUP = 0x10;

//This simulates a left mouse click
public static void LeftMouseClick(Point position)
{
    Cursor.Position = position;
    mouse_event(MOUSEEVENTF_LEFTDOWN, position.X, position.Y, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, position.X, position.Y, 0, 0);
}

РЕДАКТ.был заменен на SendInput(), но он все еще работает (Windows 7 и более ранние версии)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...