Вверх ↑
Этот топик читают: Гость
Ответов: 327
Рейтинг: 5
#46: 2014-10-08 20:10:09 ЛС | профиль | цитата
Netspirit писал(а):
Попробуйте в DirectX приложениях

Add(Button,186162,553,315)
{
Left=125
Top=120
Width=100
Caption="Послать строку"
link(onClick,4540883:doEvent1,[])
}
Add(Hub,4540883,595,315)
{
link(onEvent1,15547933:doWork,[(619,321)(619,307)])
}
Add(LineBreakEx,15547933,630,301)
{
Caption="foc"
}
Add(LineBreakEx,8359573,161,245)
{
Caption="foc"
Type=1
link(OnEvent,9386521:doSetFocus,[])
}
Add(Edit,9386521,224,231)
{
Left=115
Top=180
Width=165
Text=""
Point(doSetFocus)
}


не подходит... нужно отправлять без фокуса, с фокусом и KeyEvent отлично работает
карма: 0

0
Ответов: 4630
Рейтинг: 749
#47: 2014-10-09 15:05:31 ЛС | профиль | цитата
Конкретно в схеме фокус устанавливается только для того, чтобы показать реакцию. Нажатие работает глобально, например, срабатывают глобальные клавиши в плеере.
Если речь идёт об играх, то при потере фокуса (сворачивании) они вообще стают на паузу - что там можно эмулировать?

Ещё есть такой намек:
http://msdn.microsoft.com/en-us/library/windows/desktop/ee418864(v=vs.85).aspx писал(а):
Internally, DirectInput creates a second thread to read WM_INPUT data
То-есть, нужно слать сообщение WM_INPUT в окно игры. Проблема только в том, что нельзя просто заполнить структуру для посылки этого сообщения, нужен некоторый трюк. Я могу попробовать это сделать, но мне нужна работающая программка, ловящая сообщения клавиатуры через RawInput для тестов. У нас есть тема про RawInput, но у меня не работают представленные там схемы.
карма: 26

0
Ответов: 327
Рейтинг: 5
#48: 2014-10-09 18:32:43 ЛС | профиль | цитата
Netspirit писал(а):
Если речь идёт об играх, то при потере фокуса (сворачивании) они вообще стают на паузу - что там можно эмулировать?

knoot0279 писал(а):
уже давненько существует программа "WoW-Loop", она без проблем нажимает кнопки от 0 до 9.

этой программе без разницы, есть фокус или нет, свернуто или развернуто, главное что запущено.
WoW,WoT и т.д. не встают на паузу, ибо пауза неуместна. Вот и рисуется вопрос, как оправить нажатие кнопки такому окну, если кейэвент и сендмесседж не помогают. На счет второго до конца не уверен, т.к. не заню все его озможности, но WoW не принимает кейдаун, это точно.
Netspirit писал(а):
Я могу попробовать это сделать

Буду очень благодарен, и не только я.
карма: 0

0
48
Сообщение
...
Прикрепленные файлы
(файлы не залиты)