Автокликер (бот) на C# для внешнего приложения (эмуляция клавиатуры)
мне нужно для себя написать автокликер, который будет "эмулировать" нажатия на клавиатуре для выделенного (или определенного окна). Желательно на С№ (т.к. пока что нормально разбираюсь только в нем). Собственно я пробовал (отрывки кода) :
//
using System.Runtime.InteropServices;
v1) SendKeys.Send("W");
//
v2) static class KeyboardSend
{
[DllImport("user32.dll")]
private static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
private const int KEYEVENTF_EXTENDEDKEY = 1;
private const int KEYEVENTF_KEYUP = 2;
public static void KeyDown(Keys vKey)
{
keybd_event((byte)vKey, 0, KEYEVENTF_EXTENDEDKEY, 0);
}
public static void KeyUp(Keys vKey)
{
keybd_event((byte)vKey, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
}
}
private void start_Click(object sender, EventArgs e)
{
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
KeyboardSend.KeyDown(Keys.W);
KeyboardSend.KeyUp(Keys.W);
}
//
но все это работало только в блокноте, калькуляторе и тп, но совершенно не работает с играми(: также я нашел библиотеку InputSimulator но visual studio отказалась принимать любую ее версию.
Чуть подробнее про задачу : надо чтобы "кнопка1"(любая кнопка на клавиатуре) зажималась на 15сек./(или навсегда) , через 3сек. после начала нажималась (один раз) "кнопка2" , еще через 5сек. зажималась на 2,5сек. "кнопка3" и еще раз "кнопка3" на 2,5сек. Затем по новой. (и именно из-за одновременного нажатия кнопок идея с экранной клавиатурой и курсором не подходит)
Заранее благодарю, мне будет достаточно +_подробного объяснения как реализовать само нажатие кнопки или нормально работающей библиотеки(: (если вам лень будет это объяснять , просто напишите мне программу с открытыми исходниками, можно даже на другом языке). ЕЩЕ раз БЛАГОДАРЮ.