 |
Бот через процесс. - Вопросы и ответы, обсуждения - Ваши вопросы по C# только в данном разделе |
27.06.2012, 07:58
|
#16
|
|
|
|
Сержант
|
 Регистрация: 01.10.2011
 Сообщений: 128
 Популярность: 5723
 Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
|
Re: Бот через процесс.
Код:
[DllImport("User32.DLL")]
public static extern int PostMessage(IntPtr hWnd, UInt32 Msg, Int32 wParam, Int32 lParam);
public const Int32 WM_KEYDOWN = 0x0100;
Код:
PostMessage(wHandle, WM_KEYDOWN, (int)Keys.Enter, 0);
Но это только если надо симулировать нажатие клавиши, а не ввести текст.
Для игры достаточно получить хендл окна, а вот в блокноте/етц нужно знать хендл самого поля для ввода
________________
Talk is cheap. Show me the code
— Linus Torvalds
|
|
|
Пользователь сказал cпасибо:
|
|
28.06.2012, 10:25
|
#17
|
|
|
|
Пехотинец
|
 Регистрация: 27.11.2010
 Сообщений: 84
 Популярность: -1831
 Сказал(а) спасибо: 249
Поблагодарили 57 раз(а) в 27 сообщениях
|
Re: Бот через процесс.
Код:
[DllImport("User32.DLL")]
public static extern int PostMessage(IntPtr hWnd, UInt32 Msg, Int32 wParam, Int32 lParam);
public const Int32 WM_KEYDOWN = 0x0100;
Код:
Process[] processes = Process.GetProcessesByName("APB"); //Имя процесса должно быть без ".exe", процесс должен быть не скрытым.
char[] massiv = textBox1.Text.ToCharArray(); //Разбиваем текст textBox1 на массив
for (int i = 0; i < massiv.Length; i++) //Проходимся циклом
{
PostMessage(processes[0].MainWindowHandle, WM_KEYDOWN, (int)Keys.Tab, 0);
PostMessage(processes[0].MainWindowHandle, WM_KEYDOWN, (int)Keys.K, 0);
PostMessage(processes[0].MainWindowHandle, WM_KEYDOWN, (int)Keys.C, 0);
PostMessage(processes[0].MainWindowHandle, WM_KEYDOWN, (int)Keys.B, 0);
}
+ Как сделать в этот же процесс клик ЛКМ по координатам 319;596?
Последний раз редактировалось XRASER; 28.06.2012 в 18:48.
|
|
|
28.06.2012, 19:56
|
#18
|
|
|
|
Старший сержант
|
 Регистрация: 04.02.2011
 Сообщений: 198
 Популярность: 12244
 Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
|
Re: Бот через процесс.
________________
-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
|
|
|
28.06.2012, 20:21
|
#19
|
|
|
|
Пехотинец
|
 Регистрация: 27.11.2010
 Сообщений: 84
 Популярность: -1831
 Сказал(а) спасибо: 249
Поблагодарили 57 раз(а) в 27 сообщениях
|
Re: Бот через процесс.
Так тоже пробовал...
Что прописать в timer1_Tick?
Как вызвать функцию?
Пробовал прописывать в timer1_Tick:
Добавлено через 1 час 38 минут
+ клик должен отправляться в процесс, а не просто так...
Последний раз редактировалось XRASER; 28.06.2012 в 21:59.
Причина: Добавлено сообщение
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 13:35.
|
 |