![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 30.07.2012
Сообщений: 32
|
![]()
Здравствуйте.
Как можно программно "нажать" клавишу, и не "отпуская" ее не мешать повторному нажатию этой же клавиши? То есть, я нажимаю кнопку с помощью SendMessage, с этим проблем нет, но Windows запоминает, что клавиша "не поднята", и повторное нажатие этой же клавиши ничего не дает, лишь через раз. Нужно как-то нажать клавишу, и... может как-то удалить из памяти Windows, что кнопка не поднята, чтобы эту кнопку можно было снова использовать. Вроде понятно объяснил ![]() Заранее благодарен. |
![]() |
![]() |
![]() |
#2 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
SetKeyBoardState попробуйте
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 30.07.2012
Сообщений: 32
|
![]()
phomm, спасибо, попробую.
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
![]()
а в чем, собственно, смысл подобного действия?
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... ![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 30.07.2012
Сообщений: 32
|
![]()
Yurk@, раз так интересно... Смысл в том, что программа посылает комбинации клавиш в игру, где потом предстоит выбрать место для постройки/места, куда должны двигаться юниты.
![]() То есть, если передать WM_KEYDOWN, а затем WM_KEYUP, то действия выполняется под курсором автоматом, и не дает возможности выбрать место. Поэтому, я считаю, что нужно передать WM_KEYDOWN, и "убрать" нажатое состояние клавиш из Windows, чтобы потом можно было снова пользоваться клавишами. phomm, не получается установить клавишу в "поднятом" положении... Пробую таким образом: Код:
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 30.07.2012
Сообщений: 32
|
![]()
Больше никто не может помочь?
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
DirectInput API http://msdn.microsoft.com/ru-ru/libr...(v=vs.85).aspx
Однако, игра игре - рознь. Поэтому пока все разговоры безпредметны, увы.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 30.07.2012
Сообщений: 32
|
![]()
raxp, спасибо, попробую DirectInput поковырять.
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
...а смысл? Вы точно знаете, каким образом игра воспринимает нажатия, у игры название имеется?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программное нажатие 3-х клавиш | artemavd | Общие вопросы Delphi | 12 | 19.09.2011 14:24 |
Программное нажатие кнопки в TWebBrowser | RIO | Работа с сетью в Delphi | 3 | 16.07.2011 22:27 |
Программное нажатие клавиши в чужом приложении | Der_G()RuNu(h | Работа с сетью в Delphi | 33 | 10.07.2011 18:57 |
Программное нажатие клавиш | Damien4Damien | Общие вопросы Delphi | 2 | 17.10.2010 16:26 |
Долгое нажатие клавиши в KeyDown как одно нажатие | marina15056 | Общие вопросы Delphi | 7 | 16.08.2009 00:22 |