Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/47: Рейтинг темы: голосов - 47, средняя оценка - 4.96
43 / 3 / 0
Регистрация: 22.05.2015
Сообщений: 131
1

Эмуляция нажатия клавиши в игре

28.07.2015, 17:01. Показов 8468. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет .
Нужно сделать чтоб нажималась клавиша Enter в игре
Но с таким кодом игра крашится (Не отвечает)
Подскажите как исправить .
C#
1
SendKeys.Send("enter");
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.07.2015, 17:01
Ответы с готовыми решениями:

Корректная эмуляция нажатия клавиши
Всем доброго времени суток , я столкнулся с такой проблемой . При попытке эмулировать нажатия...

Эмуляция нажатия клавиши в консоли
В общем... вообще, у меня есть вот такая вот фиговина: ConsoleKeyInfo key = Console.ReadKey();...

Эмуляция нажатия и удерживания клавиши
Как сэмулировать нажатие и удерживание клавиши на клавиатуре? const Int32...

Эмуляция нажатия клавиши в чужом приложении
Знаю что это можно сделать используя SendKeys.SendWait или PostMessage сделал и так и так...

5
Эксперт .NET
10574 / 6498 / 1506
Регистрация: 25.05.2015
Сообщений: 19,686
Записей в блоге: 14
28.07.2015, 18:22 2
Найдено на stackoverflow
C#
1
2
3
4
5
6
7
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
 
const UInt32 WM_CHAR = 0x0102;
const int VK_RETURN = 0x0d; // taken from [url]http://msdn.microsoft.com/en-us/library/dd375731(v=vs.85).aspx[/url]
 
SendMessage(handleToTheInputForm, WM_CHAR, VK_RETURN, 1);
0
43 / 3 / 0
Регистрация: 22.05.2015
Сообщений: 131
28.07.2015, 18:32  [ТС] 3
Цитата Сообщение от Rius Посмотреть сообщение
Найдено на stackoverflow
а можно подробней расписать ?
0
Эксперт .NET
10574 / 6498 / 1506
Регистрация: 25.05.2015
Сообщений: 19,686
Записей в блоге: 14
28.07.2015, 18:35 4
Что? Тут вызов единственной функции отправки сообщения.
handleToTheInputForm - хэндл окна игры.
0
43 / 3 / 0
Регистрация: 22.05.2015
Сообщений: 131
30.07.2015, 14:59  [ТС] 5
Цитата Сообщение от Rius Посмотреть сообщение
Что? Тут вызов единственной функции отправки сообщения.
handleToTheInputForm - хэндл окна игры.
Просто я не пойму где тут нажатие кнопки ? так сказать не вижу "enter"
0
TheGreatCornholio
1254 / 732 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
30.07.2015, 15:22 6
Читай про архитектуру винды. В каждом окне есть процедура обработки сообщений в виде цикла.
Винда посылает сообщения окнам в соответствии с твоими действиями.
Если ты провел мышкой по окну - она несколько десятков раз отправит окну сообщение "MOUSE_MOVE"
содержащее координаты курсора.
При нажатии клавиши передаются сообщения "WM_KEY_DOWN", "WM_KEY_UP", "WM_CHAR" c кодом клавиши.

В программе, как правило, возникает событие при получении сообщения, и если для него прописан обработчик - оно обрабатывается.

Rius привел пример кода, где с помощью WinAPI, можно отправлять различные сообщения любому окну.
Послав сообщение окну - ты сымитируешь нажатие клавиши с кодом (0xD) - код клавиши "Enter".
Чтобы узнать инфу об окнах - класс, имя, хендл - можно использовать WinEXP вместе с WinAPI функцией FindWindow/FindWindowEx.
0
30.07.2015, 15:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.07.2015, 15:22
Помогаю со студенческими работами здесь

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

Эмуляция нажатия клавиш в стороннем приложении
я запускаю процесс, а значит я имею всё о этом процессе(хэндл и прочее) и мне нужно послать на этот...

Эмуляция нажатия кнопок вне активоного окна
Как сделать чтобы при нажатии на F1 срабатывало действие, то есть эмуляция нажатия кнопок вне...

Эмуляция нажатия комбинации клавиш + передача строки в другое приложение.
Жажду получить совет, по реализации такого механизма: при нажатии определенной клавиши в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru